GNU Octave:如何将基数从DEC改为BIN?


0

我需要对表单进行许多二进制计算:

10.1^(1/11) base 2
10.001^(1/11) base 2
10.0001^(1/11) base 2
10.00001^(1/11) base 2
10.000001^(1/11) base 2
...

其中1/11 base 2 = 1/3 base 10。

我不想使用bin2decdec2bin二进制。我想在DEC中进行计算,而不用担心繁琐的功能。那么如何在Octave中进行二进制计算呢?


1
你应该标记你的radices:(10.1 base 2)^(1/3 base 10)(如果这是正确的)所以你的问题更清楚了。
丹尼斯威廉姆森

Answers:


2

答案很长,这是可能的,但你必须a)自己编程,或b)让别人为你编程。这种写分数base-2的方法并不用于计算。

对函数进行编程以将分数二进制数的这种表示转换为标准的IEEE754双精度浮点二进制并非不可能,因此如果它是绝对必需的,那么它是可行的。


是的,但Masi的基本问题是试图将“10.1”解释为二进制2 +位,而不是十进制10.1。10.1绝对必须封装为某些功能的参数,但这正是masi试图避免的 - 那些“繁琐的功能” - 所以现在你回到你开始的地方,一个转换数字的功能混合二进制格式到octave可以理解的格式..
DaveParillo

正确(请参阅我的回答中的评论)。这个答案正在澄清他必须做些什么来完成他想要完成的事情 - 尽管他完全是他不想完成它的方式。
quack quixote 09年

1

简短的回答是你不能。如果我正确读取你的例子并且10.1应该是二进制浮点数?,那么除非你的数字都是字符串,否则bin2dec并不合适。我没有意识到八度音阶中“浮点二进制”的概念。我想如果你想这样做,你必须自己手动管理尾数和指数。

如果您设置了所有位运算,您是否尝试过位操作功能?bitset等?


现在这听起来像转换问题:只需找到一种方法将其字符串自动转换为Octave将理解的二进制浮点格式。
quack quixote 09年

〜嘎嘎:现在一切都在Binary,转换不是我的问题。我想在环境中改变基础,不需要一直担心转换。
LéoLéopoldHertz준영

Masi,计算机不会读取那种二进制文件中的浮点数。他们使用IEEE754或其他表示法。
quack quixote 09年

例如,IEEE754单精度浮点格式的“10.1 base 2”= 4.5 base 10 = 0x40900000。(或者它呢?我得到了转换到10号基础吗?)请参阅babbage.cs.qc.cuny.edu/IEEE-754/Decimal.html
quack quixote 09年

OIK?问候。xxxxxxx
Xavierjazz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.