#if 0
变量的命名方式为数字,字母,下划线,而且数字不能开头。但在ubuntu系统的vi编译器下却可以用$$
符
号
来
作
为
变
量
名
,
(
也
许
符号来作为变量名,(也许
符号来作为变量名,(也许是万能的吧)。
linux 下面开新的终端 ctrl+shift+t (ctrl+shift+n)
linux 下面切换已经打开的终端 alt+1或alt+2 (alt+tab)
2.%u 打印无符号整型 unsigne int 范围为 0~ 2^32 -1;
signed int i; //有符号整型变量,四字节
signed short int i; //有符号短整型变量,二字节整型变量
signed long int i; //有符号长整型变量,四个字节。此类型的意思是字节的个数不小于四个
signed long long int i; //有符号长长整型,八个字节。
正数如何储存:例如 十进制100
可以将十进制转换为十六进制,然后将十六进制,再转换为二进制。
100(16x6+4) 十六进制为0X64 转为二进制 0000 0000 0000 0000 0000 0000 0110 0100 此处int型变量所以为四个字节,32位,不够前面补0。
负数如何储存:例如 十进制 -100
要明白数值在计算机中储存的原理,为正数时将数值换为二进制然后储存即可。如果为负数,则先换为此绝对值也就是正数的二进制,然后求补码(按位取反再加1)。
int main(void)
{
signed int i;
i = -100;
printf("%u\n", i); //运行结果为 4294967196
printf("%d\n", i); //运行结果为 -100
/* 0000 0000 0000 0000 0000 0000 0110 0100
1111 1111 1111 1111 1111 1111 1001 1011
1111 1111 1111 1111 1111 1111 1001 1100
0X F F F F F F 9 C */
//要明白数值存入到计算机内存中只是一个值,让它以何种方式打印出来,它就会按照何种方式打印出来,存入内存的值本身是不变的,也可以认为只是表现形式的不同。
unsigned int k;
k = 0xFFFFFFFF;
// k++;
printf("%u\n", k); //运行结果 4294967295 (2^32 -1)
printf("%d\n", k); //运行结果 -1
/* 1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1110
0000 0000 0000 0000 0000 0000 0000 0001
0X 0 0 0 0 0 0 0 1 */
return 0;
}
int main(void)
{
float f;
f = 0.9;
printf("%d\n", sizeof(0.9)); //此处f 与0.9 是不等的,编译器默认的浮点型是双精度浮点型,为八个字节,而float 为四个字节,精度不同所以不等。
if(f == 0.9) //如果给0.9后面加f (0.9f)则会相等
{
printf(“Yes\n”);
}
else
{
printf(“No\n”);
}
return 0;
}
***对于32位CPU来说效率最高的还是int型变量运算
二、 浮点型
例如 1.23 0.12 123E3(123x10^3 //此处次方必须位整数,正负都可以)
float //单精度浮点型 为4个字节
printf("%f\n", i); //%f 输出为浮点型变量
计算机如何存储浮点数。
#endif
本文详细介绍了在计算机科学中变量的命名规则、不同类型变量的存储方式及浮点数的内部表示方法。通过具体实例解释了有符号整型、无符号整型变量的存储原理及其打印方式的区别,并探讨了浮点数的存储机制。
2676

被折叠的 条评论
为什么被折叠?



