分析:负数在内存中以二进制补码形式保存,按代码运行时, a的值满足要求,short int 包含有符号和无符号型,可以正确输出-1; b是由unsigned int型定义的,是无符号型,所以b的值,即-1不能正确输出,结果可能时不可知的一个数 实验代码: #include<stdio.h>int main(){short int a=-1;short unsigned int b=-1
首先最简单的是实现10进制和2进制的转换 /*输入一个数,然后输出其对应的8进制的数 */ #include<stdio.h>#define MAX 1000//顺序栈存储空间最大值 //int n,m;//n表示输入的数,m表示输出的数的进制 //先定义一个顺序栈的结构typedef struct{int *base;//栈底4指针 int *top;//栈顶指针int sta
#include<iostream>#include"stdlib.h"#include"MyStack.h"using namespace std;/******************************栈应用----数制转换描述:输入任意的十进制正整数N,分别输出该整数N的二进制、八进制、十六进制的数公式:N=(N div d)*d+N mod d (div表示整除, mod表示
基本数据类型转换 byte short int long float double char(2字节,虽然是字符,但实际是unicode编码的一个十进制整数,可以把它当做整数对待 Boolean不能和其他类型进行转换(它只有true/false) 转换规则 转换规则:不看字面量,看数据类型容量。 默认转换:byte,char,short默认转换为int,int默认转换为long ,long