Tag: 整数

如何在Ruby中返回一个整数的固定长度二进制表示?

我知道我可以使用Fixnum#to_s将整数表示为二进制格式的字符串。 但是1.to_s(2)产生1并且我希望它产生00000001 。 如何使所有返回的字符串都填充为8个字符的零? 我可以使用类似的东西: binary = “#{‘0’ * (8 – (1.to_s(2)).size)}#{1.to_s(2)}” if (1.to_s(2)).size < 8 但这似乎并不优雅。

在Ruby中模拟int64溢出

我是一名长期的程序员,但对Ruby来说是新手。 我正在尝试移植一个名为CheckRevision的算法,用于在登录Battle.net的在线游戏服务之前检查游戏文件的完整性。 该算法使用给定的公式对文件进行“哈希”。 没有枯燥的细节,它会不断地修改值为64位整数的值a , b和c ,或者在我正在移植的参考实现中修改Java long 。 我的实现对于前几次迭代是正确的,但是当int64应该环绕时,它变成了BigNum。 将FixNum限制为64位的正确方法是什么,或者我应该使用其他类型?

字符串整数

假设您有字符串”Hi” 。 你如何得到8的值( “H”是字母表的第8个字母, “i”是第9个字母)。 然后说,在这些整数中加1并使其成为9然后可以将其重新组成字符串”Ij” ? 可能吗?

Ruby中的有符号和无符号整数

像C一样,ruby是否有有符号和无符号整数,如果确实如此,那意味着String类的长度方法返回有符号整数? (因为在C整数,如果没有指定暗示签名)

在ruby中将ip地址转换为32位整数

我试图找到一种方法将Ruby地址转换为32位整数,用于木偶模板。 这就是我在bash中进行转换的方式。 root@ubuntu-server2:~# cat test.sh #!/bin/bash #eth0 address is 10.0.2.15 privip=`ifconfig eth0 | grep “inet addr:” | cut -d : -f 2 | cut -d ” ” -f 1` ; echo “Private IP: ${privip}” ; # Turn it into unsigned 32-bit integer ipiter=3 ; for ipoctet in `echo ${privip} | tr . ” “` ; […]

Ruby只为字符串获取/放置?

我是Ruby的新手,目前正在研究一些类似于以下内容的练习代码: puts ‘Hello there, Can you tell me your favourite number?’ num = gets.chomp puts ‘Your favourite number is ‘ + num + ‘?’ puts ‘Well its not bad but ‘ + num * 10 + ‘ is literally 10 times better!’ 但是这段代码只放了10个num变量的副本,实际上并没有乘以这个数字,所以我假设我需要将’num’变量设为整数? 我没有成功,所以有人能告诉我哪里出错了吗?

如何使用整数中的前导零

在Ruby中处理前导零的正确方法是什么? 0112.to_s => “74” 0112.to_i => 74 为什么将0112转换为74 ? 如何将0112转换为字符串”0112″ ? 我想定义一个方法,它以整数作为参数,并以数字的降序返回它。 但是当我有前导零时,这对我来说似乎不起作用: def descending_order(n) n.to_s.reverse.to_i end

循环遍历整数中的位,ruby

我正在编写一个程序,其中一个问题是我需要对某些整数中的位模式进行一些分析。 因此,我希望能够做到这样的事情: #Does **NOT** work: num.each_bit do |i| #do something with i end 通过这样做,我能够创造出有效的东西: num.to_s(2).each_char do |c| #do something with c as a char end 然而,这没有我想要的性能 。 我发现你可以这样做: 0.upto(num/2) do |i| #do something with n[i] end 这比each_char方法的性能更差 这个循环将被执行数百万次或更多次,所以我希望它尽可能快。 作为参考,这是整个function @@aHashMap = Hash.new(-1) #The method finds the length of the longes continuous chain of ones, minus […]