c语言1100的代码(1200编程语言)
本文目录一览:
C语言高手请解释下这段代码的具体意思。。。
value是unsigned
int型,
故定义unsigned
int
i,i的作用是控制value的每一位都能变换,也就是value有多少位,i从最低位1向左移多少位。
具体的实现:就拿你举的例子00001011。
answer=0;
i=1时:answer=0,判断value(00001011)的最低位是1,answer=answer
|
1=1,value=value1=00000101
i=10:answer=10,value(00000101)的最低位是1,answer=11,value=00000010
i=100,answer=110,value(00000010)的最低位是0,answer不变,value=00000001
i=1000,answer=1100,value(00000001)的最低位是1,answer=1101,value=00000000;
.
.
.
.
i=10000000,answer=11010000;
i=00000000,循环结束
求c语言16进制转2进制的代码 要有注释不然看不懂 谢谢 救命
/*
十六进制的一个位 对应 二进制的四个位
二进制 十六进制
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 a
1011 b
1100 c
1101 d
1110 e
1111 f
比如十六进制的 7af = 0111 1010 1111
*/
#include cstdio
#include string
#include iostream
using namespace std;
typedef struct hex
{
string er_hex;
string sl_hex;
} Hex;
Hex flag[16] = {//十六进制与二进制 对应 初始化
{"0000","0"},{"0001","1"},{"0010","2"},{"0011","3"},
{"0100","4"},{"0101","5"},{"0110","6"},{"0111","7"},
{"1000","8"},{"1001","9"},{"1010","a"},{"1011","b"},
{"1100","c"},{"1101","d"},{"1110","e"},{"1111","f"}};
int main()
{
/*for (int i = 0; i 16; i++)
{
cout flag[i].er_hex " " flag[i].sl_hex endl;
}*/
string str;
cout "请输入一个十六进制数" endl;
cin str;
cout "十六进制数 " str "二进制为:";
for (int j = 0; j str.length(); j++)
{
for (int i = 0; i 16; i++)
{ //检查输入的十六进制的每一位 并翻译成相应的二进制
if(str[j] == flag[i].sl_hex[0])
cout flag[i].er_hex " ";
}
}
cout endl;
return 0;
}
//PS:输入的数一定要符合十六进制数要求 不然会出错
c语言 产生1到100点随机数的代码
#include stdio.h
#includetime.h
#includestdlib.h
int main(){
srand((int)time(0));
for(int i=0;i100;i++)
{
int s=rand()%100;
printf("%d",s);
}
}