我有和旧的(ish)C#方法我写了一个数字并将其转换为任何基数:
string ConvertToBase(int number, char[] baseChars);
Run Code Online (Sandbox Code Playgroud)
它不是那么超级快速和整洁.在.NET中有没有一种很好的,已知的方法来实现这一点?
我在寻找的东西,让我使用任何基地要使用的字符的任意字符串.
这只允许碱基16,10,8和2:
Convert.ToString(1, x);
Run Code Online (Sandbox Code Playgroud)
我想利用它来利用数字,全部小写和全部大写字母来实现高基数.就像在这个线程中一样,但对于C#而不是JavaScript.
有谁知道在C#中这样做的好方法?
我最近注意到,基于创意基础中数字的巧妙使用,部分或全部有很多算法.例如:
我的问题是:还有哪些其他算法使用聪明的数字系统作为他们直觉或证据的关键步骤?.我正在考虑就这个问题进行一次讨论,所以我必须从中得到更多的例子.
我在印度编号系统中显示以下代码.
var x=125465778;
var res= x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
Run Code Online (Sandbox Code Playgroud)
得到这个输出:125,465,778.
我需要这样的输出:12,54,65,778.
请帮我解决这个问题.
我已经编写了一些通用函数来在十进制和任何其他base-n数字系统之间进行转换(现在n <= 36),反之亦然.不想让事情变得混乱,所以我在这里发布了代码.
有人可以建议更好的方法吗?可能更有效和Rubyish?
谢谢
我读到int的范围取决于一个字节.
因此将int设为4个字节长,即4*8位= 32位.
所以范围应该是:2 ^(32-1)= 2 ^(31)
为什么有些人说它2 ^ 31 - 1虽然?
谢谢!
所以我正在创建一个程序来显示数字系统,但是我在第一个障碍时遇到了问题.该程序将从用户那里获取一个数字,然后在整个程序中使用该数字,以便解释几个计算机科学概念.
在解释我的第一部分编号系统时,程序会说出它是什么类型的编号.我这样做是通过将字符串转换为浮点数来实现的.如果浮点数后面只有".0",那么它将它转换为整数.
目前我正在使用此代码
while CorrectNumber == False:
try:
Number = float(NumberString) - 0
print (Number)
except:
print ("Error! Not a number!")
Run Code Online (Sandbox Code Playgroud)
这很有用,因为它显示用户是否输入了数字.但是,我不确定如何检查小数位后的值,以检查是否应将其转换为整数.有小费吗?
我试图搜索我的问题的副本,但找不到.此外,抱歉不那么容易理解的标题.我对我正在搜索的内容以及术语也很困惑.我是一名电子工程师,对.Net框架知之甚少,所以请好好对待:)
我目前的项目是一个心率监测器,它可以将测得的心率存储到EEPROM中,然后发送到PC进行日志查看.
我正在使用RS-232(串行)协议与8位微控制器连接.每当我发送一个l代表log微控制器的字符时,它会以下列格式向我发送一些信息:
0x1E 0x21 0x01 0x13 0x14 0x35 0x46 0x1E 0x21 0x01 0x13 0x14 0x43 0x48 0x0A 0x0D
Run Code Online (Sandbox Code Playgroud)
空白空间用于信息目的,这些字节不是彼此分开的.
从微控制器发送的这些8位HEX值包括记录信息的开始,即0x1EDD MM YY HH MM格式的日期和时间以及记录的心率.当所有记录都被回显时,则发送0x0A和0x0D字符.
例如,上面的代码表示:
Record start.
21.01.13 14:35
Heart Rate: 70
Record start.
21.01.13 14:43
Heart Rate: 72
End of records.
Run Code Online (Sandbox Code Playgroud)
我怎么能得到这样的字符串值:"S210113143570S210113144372",哪里S可以是任何东西.之后,我将对此应用正则表达式语法并将其划分为组,以便我可以将这些值添加到listview控件中.
评论和答案后编辑:
我没有写错误的样本.不幸的是,编码与上面完全一样.
给定两个十进制数 P 和 Q。找出所有碱基,使得这些碱基中的 P 以 Q 的十进制表示结尾。
#include <bits/stdc++.h>
using namespace std;
void convert10tob(int N, int b)
{
if (N == 0)
return;
int x = N % b;
N /= b;
if (x < 0)
N += 1;
convert10tob(N, b);
cout<< x < 0 ? x + (b * -1) : x;
return;
}
int countDigit(long long n)
{
if (n == 0)
return 0;
return 1 + countDigit(n / 10);
}
int main()
{
long …Run Code Online (Sandbox Code Playgroud) 我需要制定一种准确可靠的方法,将数字转换为用于印度编号系统(印度次大陆国家使用的官方文件)中的文字。
结果应该用于任何需要计数的主题(不仅是货币)。
该任务要求,除了官方编号系统之外,还可以选择使用通用系统(即使用万国系统)产生结果。
过去一周我一直在搜索和谷歌搜索这个,包括stackoverflow。
以下 StackOverflow(javascript 标记)在其标题和/或内容中包含问题和帖子参考印度数字或货币但不同且非常古老(大多数超过 7 到 9 岁)并且不回答我的问题或帮助我(并且在结果上大多相互矛盾,这增加了混乱):
我的问题是我不习惯这样的编号系统,无法确认我所做的任何编码都会产生正确的结果,因为我不是来自那个地区。
基于这篇解释印度编号系统的维基文章我创建了以下汇总表(希望正确)将相同的(根据我的理解)转换为步骤/流程逻辑,然后可以将其转换为适当的代码。
因此,基于上述(以及我对主题的理解),我制定了下面的 javascript 函数来处理:
我已经尝试(尽可能)使用 ES6 关键字和函数。
生成 Common-Use 文本时,由于输出很长且难以理解,因此在每个 Siptlet 文本之间插入了一个“逗号”。但是,如果不需要,可以在编码的第 8 行删除此逗号。
我还包含了 2 个测试用例代码来测试两个编号系统。
可以为 Common-Use 调用该函数,如下所示:
integerToWordsInd("2222300000")); // Two Hundred Twenty-Two Crore, Twenty-Three Lakh
Run Code Online (Sandbox Code Playgroud)
对于官方系统:
integerToWordsInd ("2222300000",true); // Two Arab Twenty-Two Crore Twenty-Three Lakh
Run Code Online (Sandbox Code Playgroud)
还增加了一个额外的函数 numberCurrencyInd() 将数字转换为印度货币“卢比和派萨”,并且可以使用官方或通用系统作为使用调用参数的选项(类似于数字转换函数)。
numberCurrencyIn(3002900000.50); //Three Hundred Crore, …Run Code Online (Sandbox Code Playgroud) javascript numbers currency number-systems number-to-currency