按位计数法

通常我们所接触到的101010进制、222进制计数法都归属于按位计数法,通常来说,NNN进制计数法的特征有:

  1. 使用的数字有0,1,...,N−10,1,...,N-10,1,...,N−1,共NNN种;
  2. 从右往左分别为N0位,N1位,N2位……N^0位,N^1位,N^2位……N0位,N1位,N2位……

比如,对于NNN进制中的数字b0b1b2b3b4b_0b_1b_2b_3b_4b0​b1​b2​b3​b4​,其组成为:
b0∗N4+b1∗N3+b2∗N2+b3∗N1+b4∗N0b_0*N^4+b_1*N^3+b_2*N^2+b_3*N^1+b_4*N^0b0​∗N4+b1​∗N3+b2​∗N2+b3​∗N1+b4​∗N0
其中b0,b1,b2,b3,b4b_0,b_1,b_2,b_3,b_4b0​,b1​,b2​,b3​,b4​是000到N−1N-1N−1中的数字。

不按位计数法

罗马计数法就是不按位计数法,并且我们在生活中也十分常见,它的主要特征有:

  1. 数位没有意义,只表示数字本身
  2. 没有0
  3. 使用M, CM, D,CD, C,XC,L,XL,X,IX,V,IV,I分别表示1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1
  4. 将并排的数字加起来就是我们要表示的数

比如十进制中的2008,使用罗马计数法表示就是MMVIII

MATLAB中将十进制数字转成罗马数字

这个任务其实很有意思,其结合了编程入门中“输出数字的每一位”这个问题与扩展字符串,利用MATLAB中字符串类型操作十分简便,代码如下:

function romStr = dec2rom(n)romStr = "";if n==0return;endstrTable = ["M", "CM", "D","CD", "C","XC","L","XL","X","IX","V","IV","I"];baseNumbers = [1000, 900, 500, 400, 100, 90, 50,  40,  10,  9,  5,   4,  1];for i = 1:length(strTable)t = floor(n/baseNumbers(i));if tfor j = 1:tromStr = romStr +strTable(i);endn = mod(n,baseNumbers(i));endend
end

>>dec2rom(n)
ans = "MMVIII"

参考:

程序员的数学/(日)结城浩著;管杰译. ——北京:人民邮电出版社,2012.

MATLAB中将数字转换成罗马数字相关推荐

  1. python中将数字转换成二进制数

    python中将数字转换成二进制数 256 128 64 32 16 8 4 2 1 1 0 1 0 1 0 1 1 0 这是快速得到342的方法 在python3.6中快速得到342的方法是使用bi ...

  2. JavaScript练习 - 数字转换成罗马数字

    摘要:以下数字转换成罗马数字的方法估计是最傻的办法了. 一.思路 (1)把数字拆分,把每个数字都存入数组arr中: (2)将数组arr中非0的数字存入新的数组arr1中: (3)把数组arr1中的每个 ...

  3. php数字转换汉字,如何在php中将数字转换成汉字

    将php数字转换为汉字的实现方法:首先,创建一个PHP代码样本文件:然后定义一个"数字2中国"的方法:然后,通过方法体中的开关循环语句实现转换逻辑:最后,执行文件. 推荐:PHP教 ...

  4. python中将数字转换为字母_用python把数字转换成字母

    方法一(普通方法): # -*- coding: utf-8 -*- #把数字转换成相应的字符,1-->'A' 27-->'AA' def changeNumToChar(toSmallC ...

  5. 利用Matlab将图片转换成素描(简笔画)风格

    题目: 利用Matlab将图片转换成素描(简笔画)风格 记得曾经看过别人的网络头像,是那种类似简笔画或素描的图片,一直以来都想做一个类似的头像,但始终不得要领.今天当我看到文献[1]中的图5.28时( ...

  6. 把0到9的数字转换成电话按钮上的字母

    问题 给定一个包含[0,9]中数字的整数数组,任务是打印所有可能的字母 数字可以表示的组合,数字到字母的映射(就像在电话按钮上)正在被跟踪,注意0和1不映射到任何字母.所有映射如下图所示: 写一个程序 ...

  7. oracle字符串转换浮点数,c#中将字符串转换成带2位小数的浮点数

    今天遇到一个展示酒店价格的需求,觉得是要显示成"¥0.00"样式的,就做个小随笔,将字符串装换成带2位小数的浮点数 代码如下 string aaa = ""; ...

  8. 整型数字转换成罗马数字

    版权声明:本文为博主原创文章,转载请注明出处. 个人博客地址:https://yangyuanlin.club 欢迎来踩~~~~ integer to roman Given an integer, ...

  9. html把数字转换成日期,表格中如何把数字改为日期 表格中打数字会变成日期是怎么回事?...

    Excel 表格中如何把数字转换成时间? 如何在EXCEl中把数字变成日期格式 如何将EXCEL中的日期格式转换成数值型格式 学生出生年月原格式为1990-03-20现在想将它变成199003舍掉后面 ...

  10. Python将汉字数字转换成阿拉伯数字的方法

    Python将汉字数字转换成阿拉伯数字的方法 - 玩蛇网 http://www.iplaypy.com/code/base/b2600.html 用Python语言来为不同数字之间做转换之前就有介绍过 ...

最新文章

  1. OpenCV和Python动手操作计算机视觉学习教程
  2. 罗格斯大学电气与计算机工程专业怎么样,美国电子工程排名 - 电子计算机工程的研究生教育,特别是偏向电路设计方向,请问是美国罗格斯大学新布朗斯维克校区好还是清华...
  3. Pytorch nn.Transformer的mask理解
  4. 英伟达一大波硬件来袭:今日GTC发布专业GPU与DPU,为收购ARM将在英国建超算
  5. html单张图片效果,jquery+html5实现单张图片上传预览
  6. win10开机密码忘记了的解锁教程
  7. docker rabbitmq_RabbitMQ的介绍及使用进阶(Docker+.Net Core)
  8. 转:ReLU激活函数:简单之美
  9. 2016二级c语言成绩查询,2016年12月计算机二级C语言测试及答案
  10. Ajax与jQuery异步加载数据
  11. 以太坊 事务处理流程
  12. 车牌号对应归属地及城市JSON带简码
  13. 外点惩罚函数法matlab程序例子,外点罚函数优化实例.doc
  14. kb888111音频补丁FOR XP SP2
  15. 小微个人网站如何接入免费短信验证码
  16. Erueka状态变更说明(十三)
  17. java编程:假定公鸡5元钱1只,母鸡3元钱1只,小鸡1元钱3只。现在有100元钱要求买100只鸡,请编程列出所有可能的购鸡方案。
  18. Android 2 时代到来了,敢为天下先是我等求知若渴的程序员的优秀品质
  19. [注]微信公众号的运营推广总结方案(持续更新)
  20. [内附完整源码和文档] 基于ThinkPhp框架的高校图书馆藏书借阅系统

热门文章

  1. 《你好啊,区块链!》读书笔记
  2. python3中单引号,双引号,三个单引号 ,三个双引号的差别,以及反斜杠的用法
  3. Spring连环CVE-2015-5211和CVE-2020-5421漏洞升级教程!
  4. FastDB简单介绍及实例(Linux)
  5. 设置google浏览器为黑色底色
  6. 在centos上安装pycharm
  7. Cookie 的 SameSite 属性
  8. 同源、跨域、跨站、SameSite与withCredentials
  9. 老师偷偷塞给我一份资料,封面写着《操作系统》,下面一行小字
  10. 高数 07.03 全微分