Tag: 二进制

如何知道二进制整数是否代表负数?

我正在读一些C文本。 在“否定”和“正值”会话中,作者提到了以二进制forms表示负数的几种方法。 我一直都明白,并且想知道如果用二进制数,我们可以确定它是否为负数? 例如,-92具有8位二进制forms: 10100100 。 但是,如果给出10100100 ,我们可以说是-92,而不是其他非负数吗?

用位运算符替换“==”

仅使用按位运算符(|,&,〜,^,>>,<<)和其他基本运算符(如+, – 和!),是否可以替换下面的“==”? int equal(int x, int y) { return x == y; }

C hack用于存储占用1位空间的位?

我在0到67600之间有一长串数字。现在我想使用长度为67600个元素的数组存储它们。 如果数字在集合中,则元素设置为1;如果数字不在集合中,则设置为0。 即。 每次我只需要1位信息来存储一个数字。 C / C ++中是否存在帮助我实现这一目标的黑客攻击?

将整数从(纯)二进制转换为BCD

我现在愚蠢地解决这个问题…… 我得到一个BCD号码(每个数字都是一个自己的4Bit表示) 例如,我想要的: 输入:202(hex)== 514(十二月) 输出:BCD 0x415 输入:0x202 位表示:0010 0000 0010 = 514 我试过了什么: unsigned int uiValue = 0x202; unsigned int uiResult = 0; unsigned int uiMultiplier = 1; unsigned int uiDigit = 0; // get the dec bcd value while ( uiValue > 0 ) { uiDigit= uiValue & 0x0F; uiValue >>= 4; uiResult […]

C编程 – 文件 – fwrite

我有一个关于编程和文件的问题。 while(current!=NULL) { if(current->Id_Doctor!=’\0′) { current=current->next; id_doc=(current->Id_Doctor); } if(current->Id_Doctor==’\0′) { id_doc=id_doc+1; printf(“%d”, id_doc); break; } } fwrite(&id_doc, sizeof(char), 1, Archivo); 我不知道为什么,但它不是在名为’Archivo’的二进制文件上写id_doc的值…可能是什么问题? 我添加了一个id_doc的printf,并打印了值。我真的不知道 好的,inheritance人的完整代码(更多): struct Medico { int Id_Doctor; int Estado; char Nombre[60]; char Clave_Acceso[20]; char Especialidad[40]; struct Medico *next; }; void Dar_Alta_Med (int estado); void MenuPrincipal(char enta); int main(void) { char enta; MenuPrincipal(enta); } void […]

c中二进制到十进制

我有一个简单的代码将二进制数转换为十进制数。 在我的编译器中,分解对于小于1000的数字来说效果很好,超出输出总是相同的1023.任何人都有一个想法? #include #include // how many power of ten is there in a number // (I don’t use the pow() function to avoid trouble with floating numbers) int residu(int N) { int i=0; while(N>=1){ N=N/10; i++; } return i; } //exponentiating a number a by a number b int power(int a, int b){ int […]

如何使用C将二进制字符串转换为hex?

如何使用C将8位二进制字符串(例如“10010011”)转换为hex?

用C ++中的前导零改变hex数位,(C)

我有hex字符串中的这个数字: 002A05. 我需要将这个数字的第7位设置为1,所以转换后我会得到 022A05 但它必须与每6个字符hex数一起使用。 我尝试通过strtol将hex字符串转换为整数,但该函数条带前导零。 请帮帮我怎样才能解决。

如何从二进制文件读取和写入浮点数?

程序应该如何从C语言或Vala语言中读取和写入二进制文件中的浮点数? 用于写入和读取的通用API通常设计为以字节格式写入。 我的意思是你必须将一个字节数据的数组写入文件并以相同的格式读取。 我正在寻找一种以浮动格式编写和读取的方法。 没有类型转换,无需将数字更改为字符串。 可能吗?

C二进制文件与文本文件效率

我是C的新人,我想要一些帮助。 假设我需要在文件中存储仅6位数字。 (假设int的大小等于4)使用文本文件或二进制文件会更有效(就内存而言)? 我不确定如何面对这个问题,欢迎任何帮助