实时搜索: unsigned int几个字节

unsigned int几个字节

778条评论 1118人喜欢 3061次阅读 332人点赞
TURBO C的INT是2字节,VC的INT是4个字节,正负20E的范围,但是不是INT多少字节又跟操作系统有关系吗?好象听说又跟CPU有关系,那编译器 操作系统 CPU关于INT类型,到底是什么关系呢? , 不会做啊啊啊啊啊求解!
#include"stdio.h"
main()
{
int a,b,c;
a=1; b=2;
c=a/b;
printf("c=%d",c)
}
这个程序运行结果是0,怎么通过强制类型转换将它的结果转换为0.5? , 在网上搜索到的:
InputStream.read()返回一个u...

c语言int型数据转char型数据,就是将一个int的高低两个字节分别转换成两个char型数据,谢谢!: unsigned int y; //定义一个无符号整形
unsigned char m,n; //定义两个长度为8位的变量
m=y>>8; //将数据向右移动八位,那么高位的话就全部是0了,然后将一个INT类型的数据传递给一个Char类型的数据
n=y; //直接将INT数据传递给char类型,这里将会发生数据丢失

关于编译器 操作系统 CPU: C语言标准规定,int类型最少为2字节,long类型不能比int类型短。具体多长,由编译器自行决定。
一般,16位编译器(如老掉牙的Turbo C 2.0),int类型占2个字节,而现代32位编译器如Visual C++、gcc、Intel C/C++,int类型都是4字节的。所以如果为了编写可移植性的程序,不要对数据类型的长度做假设。
占用多少字节,主要取决于编译器。而不是多少位的软件和CPU,比如x86-64软硬件系统上,大多数int仍然是4字节长,比如微软的Visual C++在生成64位程序的时候就是如此。
这个多少位是指地址总线的长度,并不是int类型占用的位数。

在C语言中怎样用int型输入27824277658778257401: int包括以下定义:
unsigned short int 无符号2字节短整形
short int 带符号2字节短整形 - 32768 ~ 32767
unsigned int 无符号4字节整形 0 ~ 2^32 -1 (这个是对的)
int 4字节整形 - 2^31 ~ 2^31 - 1
int 64 64位(8字节)整形 - 2^63 ~ 2^63 - 1 (这个很少用到,一般是表示为高位int和低位int,贝式弧现对它的范围也给错了)

C语言强制类型转换怎么做?:

C语言强制类型转换的代码编写方式如下:

1.首先先定义两个变量,这里以定义整型变量A,B为例。分别赋值为3和5。

2.接着再定义一个变量作为结果的表示,这里以变量C为例。

3.然后在运算C=A/B时,此时如果不加处理,则会输出结果0。因为此时3/5=0.6在这里会被自动当作0。

4.对A/B的结果坐强制类型转换,格式为在需要格式转换的结果前添加(想要转换的类型)。也就是括号中写上需要转换的类型。

5.最后再次运行程序,即可输出正确结果。

Java:为什么InputStream.read()读取一个byte却返回一个int呢?: InputStream.read()返回一个unsigned byte [0 - 255],而Java里面没有这个类型,所以用int接收。
byte的范围是[-128,127],所以如果read()返回的数在[128,255]的范围内时,则表示负数,即
(byte)128=-128
(byte)129=-127
(byte)255=-1
所以如果read()返回的是byte的话,那就会有负数。而"返回-1意味着结束",这个信息量用byte是无法表达的,所以必须用int。

整型常量是int型常量吗?: 常量不就是c里面的数字么!
譬如说,a=5,5就是常量吧!这样的数据在编译后存在在指令里面的,而且它在内存中是怎么表示的还要看是大端法小端法,比较复杂。。
我觉得这些语法类的东西没必要在意,我们要注意代码里面的数据在计算机里面的编码形式,以及计算机是怎么处理它就可以了,这些东西死记硬背没用的说,计算机的运算时mod运算,计算机设计者为他们量身定制了补码(仅仅是整形),理解数据的编码以及运算的细节,才能更深刻的理解自己的代码。

你现在吧,看看计算机关于编码方向的书籍,了解了解mod运算与现实的运算之间的差别,然后再把他们结合起来,这样你看C里面的类型定义就不会再有这样的迷惑了。。推荐书籍 编码的奥秘。
分给我吧!

网络打不开出现宏定义要怎么解: 这个宏是算n占了多少int, 不足1个int大小按1个算, 现在的编译器int都是4字节, 以前的和嵌入式有2字节的int, 以后还说不定会后8字节的int(32位系统/硬件消失后,当然也可能不变)
&是按位 与运算
11111100
& 00000111
------------------
00000100
~是按位 取反
~ 00000011
-----------------
11111100
__________
比如char buf[15]; //int如果是4字节
_INTSIZEOF(buf); // 16
buf是3个int多出3个字节, 3字节不够1int,算1个, 也就是4个int, 结果是16字节
__________
( (sizeof(buf) + sizeof(int) - 1) & ~(sizeof(int) - 1) )
( (15 + 4 - 1) & ~(4 - 1) )
((15+3)&~3)
这里要达到的效果是: 比如按小数取整说: 不是全舍也不是4舍5入,而是全入
5.0算5, 5.1到6都算6, 所以应该加上0.9再舍去小数, 5+0.9舍去后是5, 6的话还是6, 5.1到5.9加0.9整数部分都变6,舍去后就是6
这个宏的效果就是:
算占多少int 的话是 15 /4 *4 =12
加上类似0.9的效果 (15+3)/4*4 =16
应为int大小正好是2的整数次方, 2进制看的话, int是4字节的话, 0100, 把最后2位变0正好能达到一样的效果
~(sizeof(int) - 1)就是
~(00000000 00000000 00000000 00000100 -1) =
~(00000000 00000000 00000000 00000011) =
11111111 11111111 11111111 11111100
这个去 与 变量大小就能得到 除4后 取整 再乘4 的效果
___________
这个宏如果得到_INTSIZEOF(n)里n的大小的话还能正确计算, 比如变量或数组
但是如果是用指针和动态分配的空间就不行了, 那样只能计算指针自己的大小
所以里面的sizeof(n)可以不用sizeof直接用n, 取n大小你可以自己sizeof去取, 如果是动态分配空间, 也可以直接放入大小

以下程序输入小数或字母时出现输出异常(不停的向下滚屏),是哪里的问题?如何改?VS2010: printf("input the X:");
scanf("%d", &x);
if (x < 0)
break;
printf("input the Y:");
scanf("%d", &y);
if (GetDIBColor(x, y, &r, &g, &b) == 1)
printf("(%d, %d): r:%d, g:%d, b:%d\n", x, y, (int)r, (int)g, (int)b);
else
printf("input error.\n");

输入应该只是这里吧,本身需要的就是正整数输入,你输入其它类型就是不合法输入。
修改的话,在输入之后严格判断范围就可以了,如果x y不是范围内的合法正整数,忽略后面的printf或者跳出。
向下滚屏,应该是scanf的问题,可能是多余的输入产生了多次的输入格式化判断,具体最好有截图看看。

  • gnz48的陈老板是谁

    卡皇无线网卡RTL8187: 那只能说你的无线网卡有问题了。你可以试试把无线网卡换一个USB接口,如果不行就换一台电脑试试,先确认一下无线网卡是否正常。 如果别的电脑可以你的电脑不行,那可能是你的系统问题。 ...

    447条评论 5404人喜欢 4349次阅读 992人点赞
  • 150克鸳鸯籽需要放多少酒泡

    华为哪几款手机用骁龙810: 按照华为的战略,是不可能用骁龙810的,华为在自家旗舰高配手机上用的都自己的海思处理器,当年的k3v2性能渣成了翔华为都照用不误,现在海思有了性能可以匹敌骁龙801的kirin92x,今天还要发布可能是64位的kir...

    445条评论 5826人喜欢 2963次阅读 768人点赞
  • 云记账软件哪个好用

    8187L的无线网卡有什么好处呢?有没人用RT3072的?: 玩破.解用8187没烦恼·3070网卡在水滴下搜索两次之后直接被忽视··· 到Backtrack中文网网站查看回答详情>> ...

    650条评论 5660人喜欢 6298次阅读 476人点赞
  • etc在哪里安装

    一个8187网卡多钱?: 我的就是25买的,带屏蔽,带散热,不带壳,2010.10月的货,现在那家店铺好像不卖了,其实只要是8187L芯片的卡,基本都差不多的,那些商家所说的电路老化,要不是使用环境都是在高温60度以上,一般都可以用个10多年...

    717条评论 1373人喜欢 4642次阅读 729人点赞
  • 身上发痒如何治

    目前国内EDM服务商比较好的有哪些: EDM指的邮件营销,这种行为不能简单地依靠服务商,服务商其实只是给你提供了通道而已,任何一种营销行为都不能想着一劳永逸,邮件营销跟邮件内容的设计,主题的设计,营销目标群体,以及发送的容量都有关系。从服务商的角度,能比...

    563条评论 5389人喜欢 6553次阅读 936人点赞
  • 2014骑士3号是谁

    无线网卡到底是3070好还是8187好点: 一句话。都不好。为什么我这么说?我买了8187L和3070 两款都用了。根本都是在吹牛。那里有广告说的那么好?我在淘宝买的。介绍吹的牛逼哄哄。这两款只是信号争强器而已。信号好一些。都不稳定。只是大家都在百度上做广告。...

    793条评论 1889人喜欢 2843次阅读 302人点赞
  • 20克银多少钱

    金星虽然是不发光的行星,但却比许多恒星还要明亮是什么意思?: 金星自身不发光,只是反射太阳光,但由于离地球很近,所以从地球上看起来比许多恒星还要明亮 ...

    308条评论 2954人喜欢 5065次阅读 887人点赞

随机推荐榜单