bits相关内容
我了解二进制的工作原理,可以计算二进制到十进制,但是我迷失在带符号的数字周围.我已经找到了进行转换的计算器.但是我不确定如何找到最大和最小数字,或者如果没有给出二进制数字,怎么转换,而StackO中的问题似乎是关于转换特定数字还是不包括带符号数字到特定位.> 具体问题是: 我们只有5位代表二进制补码中的带符号数字:什么是最高符号整数?写下其十进制值(仅在负数时包括符号).最低有符号整数是多少?
..
我正试图: 将一组8个整数(均值为0或1)转换为一个字节 反转该字节的位顺序 打印该字节的值(采用哪种格式?)(我可以猜测,直到在这里找到它为止) 此外,我不允许对此问题使用STL。 解决方案 因此,您想反转字节中的位。也就是说,这些位应该这样移动: 从:7 6 5 4 3 2 1 0 到:0 1 2 3 4 5 6 7 此代码可以很好地做到这一点
..
有人可以给我提供一个简单的WAV 16位到8位(如果可能的话,还可以返回)转换器的源代码(最好是C/C ++)的链接吗?我具有C ++的基本知识,并且需要有一个资源来理解wav编写和转换新项目的值.目前,我有一个关于RIFF块结构的讲座. 任何在不同位深度之间转换值的公式(也是这些非标准的)都值得赞赏... 我希望它是简单易用的命令行,因此我可以使用记事本对其进行编辑并轻松进行编译.
..
我正计划创建一个数字类.目的是保留任意数量的数字,而不必担心太多(例如int或long).但是同时不要使用太多.例如: 如果我的数据确实只需要1-10,则不需要int(4个字节),short(2个字节)或char(1个字节).那么为什么要分配这么多呢? 如果我想保存需要大量数据(在这种情况下仅是整数)的数据,例如过去十亿,那么我就不能. 我的目标是创建一个数字类,可以像字符串一样处理此问题,
..
给出以下字节(十六进制表示形式): 0F 1A 2C 我如何获得: F0 A1 C2 ? 解决方案 使用按位运算符. ((x & 0x0f) > 4)
..
我有一个功能可以反转字节中的位,但是我不理解语法.为什么使用0x0802U& 0x22110U和其他二进制操作(此数字是什么) unsigned char reverse(unsigned char B) { return (unsigned char)(((b * 0x0802U & 0x22110U) | (b * 0x8020U & 0x88440U)) * 0x10101U >> 1
..
我想计算BitSet对象中的位数.方法length返回BitSet的“逻辑大小":BitSet中最高设置位的索引加1,而方法cardinality将给出对象中设置为1的总位数 我想计算包括0和1在内的总位数.我该怎么办? 解决方案
..
为什么是可以存储Byte(8bit)的最小值?内存中没有Bit(1bit)吗? 甚至布尔也存储为字节.我们会不会像CPU上的寄存器那样将最小的数字增加到32或64位? 解决方案 处理器访问的基础方法仅限于最小可用寄存器的大小.在大多数体系结构上,该大小为8位.您可以使用其中的较小部分.例如,C在结构中具有位字段功能,该功能允许组合仅需要特定位长的字段.访问仍然需要读取整个字节. 一些
..
我正在整理一个内部的“每个开发人员都应该知道的"维基页面. 我看到了很多有关rand() % N的讨论,但是没有一个网页可以解释所有问题. 例如,我很好奇这个问题是否仅针对C和Linux,或者是否也适用于Windows,C ++. Java,.Net,Python,Perl. 请帮助我深入浅出.此外,数字如何获得非随机性?谢谢! 解决方案 我没有网页可供您参考,但我可能会
..
在我的应用程序文档文件夹中,我有一个文件,试图将每个字节读取到UInt8数组中,其中每个元素代表一个字节.我将如何去做呢?该文件恰好叫做Q1.dat. 这是我失败的尝试: func readArray() -> [Int]? { if let arrayPath: String = createArrayPath() { if let arrayFromFile
..
下面的代码显示数字的二进制表示形式有什么问题? int a = 65; for (int i = 0; i > i) & 1); } 解决方案 您是从数字的最低有效位开始并首先打印出来.但是,首先打印的内容是典型二进制表示形式中的最高有效位. 65是01000001,这就是循环迭代的方式 01000001
..
是由地址总线的大小确定的吗?如果是,那么8086是20位处理器吗?如果没有,为处理器分配8位,16位,32位之类的位的标准是什么? 解决方案 定义不明确.正如xtofl所指出的,广义上讲,它是原子计算单位的大小(在早期计算机中,这并不总是与“寄存器"同义).因此,PDP-10是一台36位计算机,一个8080是8位,而IBM 360或Intel 80386是"32位". 但是也有例外.
..
在一次采访中我被问到以下问题: int foofoo(unsigned int u) { unsigned int foo = u; do{ u = u/2; foo -= u; }while(u > 0); return foo; } 有人要求我告诉我此函数的作用,我发现它可以计算无符号int值中的置位位数,但我无法证明这
..
我处在一种独特的情况下,搜索“最高有效位"会产生太多结果,但找不到适合我需求的答案! 问题本身非常简单:“如何找到无符号长整数中的最高有效置位?"当我进行计算时,最右边的位是位置'0'. 我知道这涉及到屏蔽最低位,检查并在增加计数的同时向左移一次,然后以最低的第二位重复,等等. 我以前已经做过,但是由于任何原因我现在都做不到. 编辑:“最高有效"是指最左边的设定位,对不起造
..
我正在尝试仅使用AND或XOR,而不是确定是否将2个二进制数(由4位组成)相加是否溢出. 例如,我知道1100 + 0100会变成1 | 0000.但是我如何仅使用这些逻辑运算符来找到它? 当溢出发生时,我试图获得1000,而当溢出发生时,我试图获得0000.这很容易,因为我可以将XOR与掩码一起使用以清除最后3位. 有人建议解决这个问题吗? 解决方案 在过去的几天里,我一直停
..
python中是否有一种方法可以写入少于1个字节的数据 即使我写了以1位表示的数字0,文件大小也是1(8位)字节 我尝试了struct模块 file.write(struct.pack('b',0)) 数组模块 import array data1=array.array('B') x=bin(0)[2:] data1.append(int(0,2)) f2=open('/r
..
特别是,我想预设所需的大小,从外部源获取位图,然后以经典面向对象的方式处理数据. 我猜是什么 TBits不仅仅是布尔值和 的简单集合. 内部存储是连续的. 我对这样的假设正确吗? 解决方案 正确,TBits是内部位结构的,因此它不是布尔值的直接集合. 是的,存储是通过分配足够大以容纳size(以SizeOf(integer)为增量)的连续内存来处理的. 要访问内
..
如果我创建一个void指针,并为该void指针分配了一段内存,那么如何打印出刚分配的各个位? 例如: void * p; p = malloc(24); printf("0x%x\n", (int *)p); 我希望上面显示我刚刚分配的24位. 解决方案 size_t size = 24; void *p = malloc(size); for (int i = 0; i
..
我以前从未在Java中使用过位,因此问题如下: 我有 byte a=254; 如何从msb位置开始从该字节中获取位? If position == 0 it returns 1 If position == 7 it returns 0 提前谢谢 解决方案 int getBitFromMSB(byte x,int position){ return (x >>
..
我想确定序列中的某个位是1还是0(对还是错) 如果我有一些位序列11010011,如何检查第4位是True还是False? 示例: 10010101 (4th bit) -> False 10010101 (3rd bit) -> True 解决方案 不作任何改动: if bits & 0b1000: ... 编辑:实际上,(1
..