计算long变量中有多少位置1,C语言中long型占多少个字节
来源:整理 编辑:亚灵电子网 2022-11-28 16:25:11
1,C语言中long型占多少个字节
各数据类型所占字符数如下:int4字节float4字节double8字节long4字节unsignedlong 4字节可以通过如下的语句进行验证。printf("%d\n", sizeof(int)); // 计算int型所占字节数printf("%d\n", sizeof(float)); // 计算float型所占字节数printf("%d\n", sizeof(double)); // 计算double型所占字节数printf("%d\n", sizeof(long)); // 计算long型所占字节数printf("%d\n", sizeof(unsigned long)); // 计算unsigned long型所占字节数

2,C语言计算在一个unsigned long型整数的二进制表示中1的个数要求 用
哈哈~~#include "stdio.h"BitCount(unsigned int a) int i,sum=0; for(i=0;i<32;i++) sum+=a>>i&1;//位操作,相当于取出a 的最后一个bit,整个循环就是统计a中1的bit数 return sum; //i<32,可以保证你输入的数够大,a<2^32!!}void main() unsigned int a;//可以在这修改a的类型~~ int sum=0; printf("输入a=:"); scanf("%d",&a); sum=BitCount(a); printf("1个数为:: %d 个!\n",sum);}结果例:a=255 ==> 1个数为:8 个完~

3,一个long类型变量在内存里占据多少字节多少KB多少MB 一个char类型
#include <windows.h>#include <stdio.h>main()long int x;double K=1024.0;x = sizeof(long);printf("long: %d bytes, %e KB, %e MB\n", x, x/K, x/K/K);x = sizeof(char);printf("char: %d bytes, %e KB, %e MB\n", x, x/K, x/K/K);x = sizeof(BOOL);printf("bool: %d bytes, %e KB, %e MB\n", x, x/K, x/K/K);return 0;}输出:long: 4 bytes, 3.906250e-003 KB, 3.814697e-006 MBchar: 1 bytes, 9.765625e-004 KB, 9.536743e-007 MBbool: 4 bytes, 3.906250e-003 KB, 3.814697e-006 MB (结果同系统和编译器有关)

文章TAG:
计算long变量中有多少位置1计算 long 变量