标签: binary

二进制字符串到整数

我有一个由用户输入的二进制字符串,我需要将其转换为整数.

起初我天真地使用了这条简单的线:

Convert.ToInt32("11011",2);
Run Code Online (Sandbox Code Playgroud)

不幸的是,如果用户直接输入整数,则抛出异常.

Convert.ToInt32("123",2); // throws Exception
Run Code Online (Sandbox Code Playgroud)

如何确保用户输入的字符串实际上是二进制字符串?

  • try..catch ....但那太难看了.
  • 像"Int32.TryParse"这样的东西也许吧.

谢谢

c# string binary integer

26
推荐指数
1
解决办法
5万
查看次数

为什么unsigned int 0xFFFFFFFF等于int -1?

在C或C++中,可以说size_t(无符号整数数据类型)可以容纳的最大数量与向该数据类型强制转换-1相同.例如,请参阅size_t的无效值

为什么?

我的意思是,(谈论32位整数)AFAIK最重要的位保持有符号数据类型的符号(即,位0x80000000形成负数).那么,1是0x00000001 .. 0x7FFFFFFFF是int数据类型可以容纳的最大正数.

然后,AFAIK的-1 int的二进制表示应该是0x80000001(也许我错了).为什么/如何将这个二进制值转换为完全不同的任何东西(0xFFFFFFFF)时将int转换为unsigned?或..如何形成0xFFFFFFFF的二进制-1?

我毫不怀疑在C :((unsigned int)-1)== 0xFFFFFFFF或((int)0xFFFFFFFF)== -1同样真实而不是1 + 1 == 2,我只是想知道为什么.

c c++ binary casting

26
推荐指数
3
解决办法
7万
查看次数

两个补充,为什么名称"两个"

我知道无符号,两个补码,一个补码和符号幅度,以及它们之间的区别,但我很好奇的是:

  1. 为什么它被称为两个(或一个)补码,那么是否有更广义的N的补码?
  2. 这些天才以哪种方式推断出如此自然的方式来表示负数?

binary computer-science

26
推荐指数
2
解决办法
6230
查看次数

PHP:简单,如果字符串是十六进制验证?

我不知道如何验证这个字符串.我只是提供一个加密的IV,但是找不到1is_hex()1或类似的功能,我无法绕过它!我在php文档(用户贡献.注释)中阅读了一条评论:

if($iv == dechex(hexdec($iv))) {
  //True
} else {
  //False
}
Run Code Online (Sandbox Code Playgroud)

但这似乎根本不起作用......它只是说错误.如果它有助于我输入我的IV是这样的:

92bff433cc639a6d
Run Code Online (Sandbox Code Playgroud)

php encryption binary hex

26
推荐指数
2
解决办法
2万
查看次数

为什么不在C++中强制执行2的补码?

新的C++标准仍然拒绝指定整数类型的二进制表示.这是因为C++的实际实现不使用2的补码算法吗?我觉得很难相信.是不是因为委员会担心硬件的未来发展会让"过时"的概念变得过时?再次难以置信.任何人都可以对此有所了解吗?

背景:我在一个评论帖中惊讶两次(Benjamin Lindley对这个问题的回答).首先,来自piotr的评论:

签名类型的右移是未定义的行为

其次,来自James Kanze的评论:

当分配给long时,如果该值不适合long,则结果是实现定义的

在我相信之前,我必须在标准中查看这些内容.它们的唯一原因是适应非二进制补码整数表示.为什么?

c++ binary standards

26
推荐指数
2
解决办法
3414
查看次数

将位写入C中的文件

我有这个字符串:"101"我想把它写成一个文件,在C中,而不是文本:"101",所以8位x char.但直接使用字符串作为位:位"1",位"0"和位"1",因此文件将为3位.

有可能吗?我在网上搜索过,我试过这样做:

char c[25] = "101";
FILE *binFile = fopen("binFile.bin", "wb");
int x = atoi(c);
fwrite(&x, sizeof(x), 1, binFile);
Run Code Online (Sandbox Code Playgroud)

但最后,当我验证文件的字节时,Windows告诉我它是4bytes文件!而不是3bits!

如果有可能,我怎么能这样做?非常感谢.

c binary file

26
推荐指数
4
解决办法
2万
查看次数

我可以直接用二进制编写程序吗?如何让计算机执行它?

我知道这可能看起来很奇怪并且在寻找麻烦,但我认为体验古代程序员以前经历过的事情是有趣的.那么我怎样才能执行只用二进制编写的程序呢?(假设我知道我在做什么,当然不使用汇编.)

我只是想编写一系列比特111010111010101010101并执行它.那我该怎么办呢?

binary

25
推荐指数
4
解决办法
3万
查看次数

如何用dd覆盖二进制文件的某些字节?

我有一个二进制文件,我想用一些其他值替换A2地址的DEADBEEF值,比方说A1.

我怎么能这样做dd?如果有其他工具可以做到这一点,请建议.但我打算在iPhone上这样做,所以我只能使用大多数基本的Unix工具.

unix binary dd

25
推荐指数
1
解决办法
2万
查看次数

使用Powershell读取/解析二进制文件

我正在尝试解析二进制文件,我需要一些帮助.我在网上寻找"解析二进制文件","阅读二进制文件","阅读二进制文件内的文本"等等,我没有运气.

例如,我如何从这个二进制文件中读取这个文本?任何帮助将非常感激.我正在使用PowerShell.

在此输入图像描述

binary powershell parsing

25
推荐指数
3
解决办法
5万
查看次数

Java - 二进制代码与ByteCode相同吗?

在Java中,"二进制代码"是否与"Java字节码"相同?

这是Java中的流程吗?

Java文件(.java) - > [javac] - > ByteCode文件(.class) - > [JVM/Java解释器] - >运行它(首先将其转换为特定于机器的二进制代码)

谢谢!

java binary jvm bytecode

24
推荐指数
3
解决办法
2万
查看次数

标签 统计

binary ×10

c ×2

c++ ×2

bytecode ×1

c# ×1

casting ×1

computer-science ×1

dd ×1

encryption ×1

file ×1

hex ×1

integer ×1

java ×1

jvm ×1

parsing ×1

php ×1

powershell ×1

standards ×1

string ×1

unix ×1