标签: binary

如何在计算机内存中打印long double的二进制表示?

long double出于某些原因,我必须打印数字的二进制表示.我想看到它保留在计算机内存中的确切格式.

我经历了以下问题,其中一个union是解决方案.因为float,备用数据类型unsigned int都是32位.因为double,unsigned long int两者都是64位.但是long double,它是96位/ 128位(取决于平台),它没有类似的等效内存消费者.那么,解决方案是什么?

访问量问题:

  1. 用C++打印浮点数的二进制表示
  2. 二进制的二进制表示
  3. 双精确二进制表示
  4. 如何显示float或double的二进制表示?

注意:

它被标记为问题的副本如何打印(使用cout)数字存储在内存中的方式?!

真的是吗?提到的问题是关于整数的问题和接受的解决方案,它bitset只是截断了浮点部分.我的主要观点是浮点表示,它与该问题的内容无关.

c++ floating-point binary long-double

-1
推荐指数
1
解决办法
794
查看次数

与c相比,转二进制大小

昨天我只想比较简单的golang HelloWorld应用程序和c,go二进制文件就像2-3 MB(只是fmt.Println)等效的c代码,然而,只有大约20 kb(printf).然后我检查了二进制文件正在进行的系统调用,使用strace; 两者之间没有太大的区别所以你是否知道为什么golang二进制文件与c等价物相比如此庞大?

c binary compilation go

-1
推荐指数
1
解决办法
807
查看次数

Swift 4 十六进制字符串到二进制字符串

请注意,将十六进制字符串转换为二进制字符串的旧方法已从 swift 中删除,即: String(hex, radix: 2) -> 二进制字符串

swift 4 中的替代方案是什么?

binary hex swift

-1
推荐指数
1
解决办法
3880
查看次数

如何在C中连接数组中的整数二进制值?

我正在编写一个嵌入式系统程序,它通过SPI从外部ADC接收24位数据,并将数据存储在整数数组中.那部分是有效的.为了使数据有用,我需要以二进制或十六进制形式连接每个字节并除以0x7FFFFFF.这是我遇到麻烦的地方.例如,我可能会通过SPI接收一个如下所示的数据数组:

data_buffer = { 24 , 17 , 140 };
Run Code Online (Sandbox Code Playgroud)

又名

data_buffer = { 0b00011000 , 0b00010001 , 0b10001100 };
Run Code Online (Sandbox Code Playgroud)

又名

data_buffer = { 0x18 , 0x11 , 0x8C };
Run Code Online (Sandbox Code Playgroud)

我需要用这个值来连接每个元素来得到这样的东西:

data_value = 0x18118C
Run Code Online (Sandbox Code Playgroud)

然后将该值除以0x7FFFFF,以使其在我的程序中有用.在这个例子中,我最终想要的值是0x18118C/0x7FFFFF = 0.188

我该怎么做呢?

对不起,我没有提供更多代码,老实说我不知道​​从哪里开始.

c embedded binary hex

-1
推荐指数
1
解决办法
146
查看次数

如何将-1x10 ^ 200转换为IEEE 754双精度

如上所述,我想找到-1x10 ^ 200的IEEE 754表示.

我知道我们可以得到标志为1,因为我们有一个负数.但是我不确定如何找到尾数/指数.我最初的想法是将10 ^ 200转换为2 ^ x.但是x不是整数.所以我认为我们需要以某种方式通过以某种方式分离10 ^ 200得到一个分数.从理论上讲,人们可以使用非常长的分离,但我正在寻找一个更优雅的答案,可以在没有高精度计算器的情况下完成.

c++ floating-point binary double ieee-754

-1
推荐指数
1
解决办法
64
查看次数

为什么 -2 & -1 在 Go 中等于 -2?

为什么 -2&-1 会导致 -2?我假设 0010 和 0001 会导致 0000。当数字为正时确实如此。

fmt.Printf("%b, %b, %v\n", -2, -1, -2&-1)
// shows: -10, -1, -2
Run Code Online (Sandbox Code Playgroud)

https://play.golang.org/p/2G3vDwxAy2J

binary go

-1
推荐指数
1
解决办法
59
查看次数

如何切换数字中的所有位?

#include <stdio.h>

int main() {
    int n = 10;
    int ans = n ^ (1 << 2);
    printf("%d", ans);
}
Run Code Online (Sandbox Code Playgroud)

此代码切换特定数字,但我需要整个位来切换示例:10-> 0b1010-> 0b0101->5

c binary bit-manipulation

-1
推荐指数
1
解决办法
704
查看次数

改变二进制值元素的位置

我有一个包含二进制值的字符串(101101).现在我想检查最后一个字母是否为1,如果是,则将其更改为0.我怎样才能做到这一点 ?

java binary

-2
推荐指数
1
解决办法
100
查看次数

使任何文件在java中无法打开

我在java中创建一些电影文件.该文件采用.mp4格式.由于视频是从安全监控摄像头拍摄的,我想让任何媒体播放器中的任何人打开该文件时都会损坏.唯一的方法是通过与加密时​​完成相反的操作来解密文件.

x = // byte read from file.
x = x >> 2;
// write x to new file
Run Code Online (Sandbox Code Playgroud)

所以基本上我正在寻找一些方法来加密文件(可能会移动文件的每个字节).我不想使用复杂的算法,如AES,DES或密码加密.

通过移动字节来解密/加密文件的最佳方法是什么?这会使文件看起来已损坏吗?

java encryption binary file

-2
推荐指数
1
解决办法
330
查看次数

如果我左移一个带负值的正数,为什么会得到否定结果呢?

你能否告诉我为什么下面的代码给出了一个否定的结果,因为无符号数的左移a有一个负值?

    int main(void)
     {
          unsigned int a=1;
          printf("%d",a<<-1);   

     }
Run Code Online (Sandbox Code Playgroud)

输出 -2147483648.

c binary bit-shift

-2
推荐指数
1
解决办法
222
查看次数