用C语言进行位运算要不要考虑计算机的位数问题?

用C语言进行位运算要不要考虑计算机的位数问题,比如int在不同的计算机或不同的语言里保存的位数会不一样?那么对这个int进行位运算也要选不同长度的二进制数来做
或者说只是跟你这个语言对int的规定位数有关,另外我对计算机位数这个概念不是很清楚,看百度的解释一会跟存储单元有关,一会又跟处理长度有关,求详细简洁的回答

位运算和位有关当然要考虑位数
int和操作系统和硬件有关,64位和32位操作系统要考虑细微差别
位数就是马路上的车道,路越宽,车道越多,越不堵车
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-07
好像只有int的位数在不同编译环境下可能不一样,有2字节或4字节两种。
另外还要考虑高位优先和低位优先两种不同的字节顺序。
其他好像没有什么要考虑的了。
第2个回答  2011-11-07
一般来说是不用的
但是在某些跨平台设计的时候还是要进行考虑的
第3个回答  2011-11-07
我个人认为不用吧。
第4个回答  2011-11-07
要啊
第5个回答  2011-11-07
应该不需要把
我看过的很多代码都没考虑这些问题
因为这些都是默认的。

C语言位运算中什么是高字节和低字节?
比如 :一个字节=8bit计算机中用16表示一个数,比如0001 0001 1001 0001 ; 0001 0001就为高字节,1001 0001为低字节。 0001 0001 1001 0001B(或者1191H) 11H 91H说通俗点,就是把一个数用编码表示出来(一般十六进制或二进制),左边的一半数为高,右边一半数为低 ...

c语言位运算问题?
c语言位运算问题解答:要解答这个问题我们先来看一个例子,代码如下图一,图中右边是问题中得到代码,左边是这段代码的汇编指令。两种情况的不同点详细说明如下:第一种情况:printf("%d",2>>64);由图中的汇编代码可以看出,如果两个数都是常数的情况下,代码中是不含对应的汇编指令的,因为编译器...

C语言——位运算
本文将介绍C语言中的位运算,它允许程序员直接操作二进制位。二进制位,或“位”,仅包含0或1。在计算机中,数据以二进制形式表示,执行的指令亦是如此。计算机内部的数据以补码形式存储。这意味着,对于数字的二进制表示,最左侧的位(符号位)指示数字是正还是负。位运算包括:取反运算、左移运算、...

c语言中,如何实现位运算?
c语言:取整型变量x中的第p位开始的n个bit位,可以采用位运算的方法。先向左移位,丢弃前面不需要的位,再通过向后移位,丢弃后面不需要的位,最后再向左移位到原来的位置,就可以了。1\/\/num&(num-1)=(1111)&(1110)=(1110)2\/\/num&(num-1)=(1110)&(1101)=(1100)3\/\/num&(num-1)=(11...

c语言位运算
C语言中的位运算符用于操作二进制位。这些运算符直接对整数的二进制位进行操作,是低级语言操作的重要组成部分。它们对于优化程序性能、实现特定功能非常关键。具体的位运算符 1. 位移运算符:这两个运算符用于将二进制位向左或向右移动指定的位数。例如,`x << 2`表示将x的二进制表示向左移动两位,...

c语言的位运算疑惑
3:位移运算:>>表示右移位 我以8为例。8的二进制是1000, 8>>1对应的二进制形式就是1000——0100看到变化了没有。所以右移位相当于这个数除2 左移位你看看 01000——10000是16了。相当扩大一倍。32的二进制是 0010 0000左移1位 01000000你看看是不是64 4:最后打印的是%d,所以是数字。而...

位运算~问题
1楼的回答是有问题的。在C语言里,整形常量可以有8进制,十进制,十六进制三种表示方式。十进制与正常的表述类似,如a=111; 那就是说a的值是111;而八进制整数常量的表示,以数字前面加0表示,也就是a=0111,则表示是八进制的111,111(八)=1*8*8+1*8+1=73(十)而十六进制整数常量的表示...

c语言位运算问题:下面的语句在vc++中运行 为什么打印输出的是-10...
不管是int还是unsigned,只要位数相同,对于相同的整数,机器数的内存表示(位布局)都是一样的。以16位平台为例(其实现在大部分都是32位平台,我偷懒少打几个字- -),int和unsigned的9都是:0000000000001001。~计算即按位取反以后就变成:1111111111110110。这个数由于开头是1,所以对于int来说是负数...

C语言 位运算
为了正确执行位运算,所有的数值需要转换成二进制形式。位运算符的操作基于二进制位,它们能够解决涉及二进制数据处理的问题,比如压缩、加密或高效的数据处理。理解并熟练运用这些运算,可以极大地提升程序的性能和代码的可读性。位运算是否能满足您的需求,关键在于您是否能灵活运用它们处理特定的二进制逻辑...

计算机系统基础学习笔记(2)-数据的位运算操作
在C语言中,位运算用于对数据进行精细控制,例如交换变量值。常规方法通过复制和修改变量来完成,而位操作法利用位运算符进行交换,原理基于对数据进行按位操作,从而实现变量值的交换。这种方法在数据处理和算法实现中非常有用,尤其在处理位操作密集的场景时,能显著提高性能。总结计算机系统基础学习笔记关于...

相似回答