首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【优秀题解】题解 1178: 三进制小数

你的任务呢,是将一个有理数转换成三进制小数。“什么是三进制小数呢?”你一定会问,这很明白,就是以三为基(二进制数以2为基,而十进制数则以10为基)的小数。...输入 有理数的值都是在0与1之间的,每个有理数都由一个分子和一个分母表示,分子与分母之间隔着一个斜杠。有理数的个数不会超过1000个。...0.75 整数部分为0,小数部分为0.75 ④:0.75 * 3= 2.25 整数部分为2,小数部分为0.25 ............. (3):把整数部分写下来为0202......这就是0.25转换为三进制后...39 40 41 42 43 44 45 46 47 48 #include void output_three( double num ); int jinzhi = 3;//可换为其它进制...= EOF ) { num = 1.0 * x / y;//乘1.0转化为浮点型 output_three( num ); } return(0)

1.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    浅谈Python内置对象类型——数字篇(附py2和py3的区别之一)

    除了默认的十进制数之外,还可以使用二进制、八进制、十六进制来表示常数,不过要在这些数字前边添加前缀以便和十进制数进行区分,二进制、八进制、十六进制的前缀分别是0b、0、0x。...在py2中整数除法运算的结果仍然为整数,是取整,而不是四舍五入噢。当参与运算的数中有一个为浮点数的时候,Python会自动将另一个数字隐性的转换为浮点数,因此在第二个运算中得到的结果为浮点数。...floor除法和取余运算 二、分数 分数包括分子和分母两个部分。在Python中,函数Fraction(x, y)表示分数x/y。...在使用该函数之前,需要导入分数模块fractions,分数构建之后,就可以在表达式中使用了。当然,也可以将浮点数字符串转换为分数,如下图所示: ?...四、复数 复数是由有理数部分和无理数部分构成。其中有理数部分称为实部,该部分可有可无;而无理数部分称为虚部,该部分是必需需要的,虚部的后缀一般用j或者J表示。

    1.2K20

    浅谈Python内置对象类型——数字篇(附py2和py3的区别之一)

    除了默认的十进制数之外,还可以使用二进制、八进制、十六进制来表示常数,不过要在这些数字前边添加前缀以便和十进制数进行区分,二进制、八进制、十六进制的前缀分别是0b、0、0x。...在py2中整数除法运算的结果仍然为整数,是取整,而不是四舍五入噢。当参与运算的数中有一个为浮点数的时候,Python会自动将另一个数字隐性的转换为浮点数,因此在第二个运算中得到的结果为浮点数。...在Python中,函数Fraction(x, y)表示分数x/y。在使用该函数之前,需要导入分数模块fractions,分数构建之后,就可以在表达式中使用了。...当然,也可以将浮点数字符串转换为分数,如下图所示:                         分数Fraction函数运算 三、布尔型         布尔型对象只有两个值,即对(True)和错...四、复数         复数是由有理数部分和无理数部分构成。其中有理数部分称为实部,该部分可有可无;而无理数部分称为虚部,该部分是必需需要的,虚部的后缀一般用j或者J表示。

    1K30

    php强制转换浮点型到整型出现结果不符合预期

    使用php的浮点数转int型时,出现转换结果不符合预期,直接转换出现问题在其他强类型语言中可能会有意识的去规避,而php能从心所欲,反倒会出现这种细节问题。...$a = 0.58; $b = $a * 100; $c = intval($b); var_dump($b);// double(58) var_dump($c); //int(57) 翻到php...此外,以十进制能够精确表示的有理数如 0.1 或 0.7,无论有多少尾数都不能被内部所使用的二进制精确表示,因此不能在不丢失一点点精度的情况下转换为二进制的格式。...其次可以选将浮点数转字符串,再将字符串转成int类型。...$a = 0.58; b = a * 100; c = intval((string)b); var_dump($b);// double(58) var_dump($c); //int(57) **引用

    2.8K20

    maple 教程_maple的意思

    代数运算器负责输入的编译、主要的代数运算(如有理数运算、初等代数运算等)以及内存的管理. Maple的大部分数学函数和过程是用Maple自身的语言写成的, 存于外部函数库中....还有一个样例则想说明Maple计算的局限性: Maple在处理问题时, 为了避免失根, 从不求算术式的近似值, 分数则化简为既约分数....结果为: (5561)7 > convert([1,6,5,5],base,7,10); #将7进制数5561转换为10进制数 > convert(2002,base,60); #将十进制数...2002转换为60进制数, 得33(分钟)22(秒) 2)转换为二进制形式 命令格式: convert(n, binary); 其功能是将十进制数n转换为2进制数....> convert(2002,binary); > convert(-1999,binary); > convert(1999.7,binary); 3)转换为十进制形式 其他数值转换为十进制的命令格式为

    1.2K20

    Python数值类型

    数值类型 python的数值类型包括常规的类型:整数(没有小数部分的数字)、浮点数(通俗地说,就是有小数部分的数字)以及其它数值类型(复数、分数、有理数、无理数、集合、进制数等)。...当数值部分有小数时,会自动转换为浮点数类型进行运算,而且会自动忽略参与运算的小数尾部的0。...例如,将2.5转换成元组,并进而转换成分数。...hex():十进制整数转换成十六进制整数 bin():十进制整数转换成二进制 例如,将十进制的64转换成二进制、八进制、十六进制整数。...例如,将二进制的数转换为十进制整数。 >>> int('0b11',base=2) 3 >>> int('11',base=2) 3 既然x要解释成某个进制的数,那么超出这个进制的数自然不能出现。

    2.2K30

    js浮点数精度问题详解

    1100 1100 1100 1100 1100 1100 1100 1100 1100 ...最终我们只能得到和的近似值(按照 IEEE 754 标准保留 52 位,按 0 舍 1 入来取值),然后转换为十进制数变成...这是因为这些特定的小数可以精确地表示为二进制分数,而不会导致舍入误差。以下是一些常见的特定情况:小数部分是2的负整数次幂:例如,0.5、0.25、0.125等。...尽管在十进制中无法精确表示,但在二进制中可以通过有限位数进行近似表示,并且通常不会引起明显的舍入误差。...它支持高精度计算,并提供了大整数和有理数的支持。Math.js还具有表达式解析和求值功能,可以处理复杂的数学表达式。...因此,在实际应用中,需要根据具体情况权衡精度和性能之间的平衡。总结--浮点数精度问题是计算机科学中一个常见的问题,由于二进制无法精确表示某些十进制小数,进行浮点数运算时可能会出现舍入误差。

    63550

    二进制的科学计数法?白话谈谈计算机如何存储与理解小数:IEEE 754

    如上,我们可以将任何有理数拆分成 的形式。值得注意的是: 的取值范围是 一定是一个整数 对于任何有理数,我们都可以用两个范围狭小(规则明确)的数字 B 与 C 来表示。...对于 这个十进制数,如果要将其转换为二进制: 将其整数部分与小树部分分开; 对于整数部分 5 ,我们使用"不断除以2取余数"的方法,得到 101 ; 对于小数部分 .25 ,我们使用"不断乘以2取整数...关于进制转换的具体方法与背后的数学原理,我写过一篇文章进行讨论,见这里:十进制转二进制 / 八进制 / 十六进制的手算方法,及其数学原理的通俗解释。...,由frac决定,即 ; 并且C满足 。...0.5 // 转换为二进制 ==> 0.1 // 移动小数点,使其在最左边的1之后 M = 1.0 // 小数点后的数字存储在frac中 E = -1 // 因为是左移 frac= 0* //

    5.3K42

    放弃深度学习?我承认是因为线性代数

    ℚ 表示有理数的集合,有理数可以表示为两个整数组成的分数。 Python 中内置一些标量类型 int,float,complex,bytes 和 Unicode。...在 Python 中定义矩阵的操作: 矩阵加法 矩阵可以与标量、向量和其他的矩阵相加。这些运算都有严格的定义。这些技巧在机器学习和深度学习中会经常用到,所以值得熟练运用这些技巧。 ?...矩阵乘法 矩阵 A 与矩阵 B 相乘得到矩阵 C。 ? ? 矩阵转置 通过矩阵转置,你可以将行向量转换为列向量,反之亦然。 A=[aij]mxn AT=[aji]n×m ? ?...deep-learning-with-python-703e26853820 深度学习入门介绍: https://towardsdatascience.com/introduction-to-machine-learning-db7c668822c4...博客原址 https://towardsdatascience.com/linear-algebra-for-deep-learning-506c19c0d6fa

    1.9K20

    0.1 + 0.2 != 0.3:Is floating point math broken?

    = 0.3 这个问题的症结在于:在现今的计算机中,数字的最终存储(表示)格式是二进制,是整数乘以 2 的幂。...所以一切分母不是 2 的幂的有理数(例如 0.1,即 1/10)都是无法被计算机精确表示的。...下面来详细分析: 十进制小数与二进制的转换 整数十进制转二进制大伙都知道(除 2 取余法),我们来看看小数是怎么转二进制的 小数部分的转换不同于整数部分,它采用的是乘 2 取整法:将十进制中的小数部分乘以...2,得到一个数,将这个数的整数位作为二进制的一位,然后继续取其小数部分乘以 2 作为下一位,直到不存在小数为止 举个例子:3.14(十进制) 整数部分: 3(十进制)-> 0011(二进制) 小数部分...en.wikipedia.org/wiki/IEEE_754#Basic_and_interchange_formats),这不可避免地就会造成精度缺失 Working with Floats in Programming 在平常写代码的时候

    30220

    Python数据类型之数字

    既然十进制可以转换为二进制,那么其实使用同样的原理也可以转换为其他进制,python也为我们提供了十进制转换成八进制和十六进制的方法,分别是oct和hex。...浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。...比如:11.2的小数部分0.2转换为2进制则是无限循环的00110011001100110011......InvalidOperation, DivisionByZero, Overflow]) >>> getcontext().prec = 50 >>> a = Decimal(1)/Decimal(3)#注,在分数计算中结果正确...其实很简单,Python会把两个值转换为其中最复杂的那个对象的类型,然后再对相同类型运算。 比如上面的例子中,会先把10转换为10.0然后再与3.14159相加。

    1.4K20

    为什么0.1 + 0.2 不等于 0.3 ?

    在很多编程语言中,我们都会发现一个奇怪的现象,就是计算 0.1 + 0.2,它得到的结果并不是 0.3,比如 C、C++、JavaScript 、Python、Java、Ruby 等,都会有这个问题。...IEEE 754 标准可以参见:https://zh.wikipedia.org/wiki/IEEE_754背后原理在十进制系统中,如果一个分数使用基数(10)的质因数来表示,那么它可以被精确地表示。...在二进制(计算机使用的系统)中,如果一个分数使用基数(2)的质因数来表示,那么它可以被精确地表示。2 是 2 的唯一质因数。...十进制小数转二进制还有一种更容易理解的方法(采用 *2 取整法),例如我们要把十进制数的小数 0.875 转换为二进制数,只需将十进制数的小数部分乘以 2,然后提取整数部分,直到小数部分变为 0。...二进制数 1101.111 整数部分为 1101 ,小数部分为 111,就是十进制数 13.875 转换为二进制的结果。

    14110

    【C语言】备战校赛Day3

    输出描述 在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如:yi er san si。...最后在一行中按Sum = X的格式输出全部数字的和X。...麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。 输入描述 输入第一行给出一个正整数N(≤100)。...输出描述 输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整数部分为0,则只输出分数部分。...读取输入的有理数,并将它们转换为最简形式. 将这些有理数相加,并将结果转换为最简形式. 细节详解见代码注释. 提交结果

    8410

    有理数四则运算(20)

    本题要求编写程序,计算2个有理数的和、差、积、商。...输入格式: 输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0。...输出格式: 分别在4行中按照“有理数1 运算符 有理数2 = 结果”的格式顺序输出2个有理数的和、差、积、商。...注意输出的每个有理数必须是该有理数的最简形式“k a/b”,其中k是整数部分,a/b是最简分数部分;若为负数,则须加括号;若除法分母为0,则输出“Inf”。...“k a/b” 其中k是整数部分,a/b是最简分数部分;若为负数,则须加括号;若除法分母为0,则输出“Inf” */ void print(ll a, ll b) { if(b == 0){

    37410

    PAT (Basic Level) Practice (中文)1034 有理数四则运算 (20 分)

    1034 有理数四则运算 (20 分) 本题要求编写程序,计算 2 个有理数的和、差、积、商。...输入格式: 输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。...输出格式: 分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。...注意输出的每个有理数必须是该有理数的最简形式 k a/b,其中 k 是整数部分,a/b 是最简分数部分;若为负数,则须加括号;若除法分母为 0,则输出 Inf。...";f(c,d);coutc*b,b*d); cout<<endl; f(a,b);coutc,d);coutc

    34720

    十进制小数分数与二进制的转换

    十进制分数转换为二进制数 使用短除法。...例如将十进制分数11/28转换为二进制数,过程如下: 1、首先将分子分母分别转换成二进制 (11)10=(1011)2 (28)10=(11100)2 2、使用短除,借位时是借2,商只能是...0或1 所以:11/28=1011/11100=0.01100100… 十进制小数转换为二进制小数 十进制数的整数位是二进制数的整数位,十进制数的小数位是二进制数的小数位。...计算整数部分,11转换为二进制位1011: 计算小数部分0.4,首先将小数部分一直乘2,积的整数部分顺序取出: 0.4*2=0.8 取0 |...| 可以看出0110是循环,因此小数部分的二进制是 0.01100110……(循环0110) 最终结果是整数位和小数位合并1101111.01100110……(2) 二进制小数转换为十进制小数

    2.4K10

    Redisant Toolbox——面向开发者的多合一工具箱

    分别输入要进行比对的文本,软件可以快速帮您找到文本之间的不同之处,并高亮显示出来 图片 代码格式化 代码格式化工具,支持 Java、C#、C、C++、JavaScript、JSON、Objective-C...CSV JSON to YAML:将 JSON 字符串转换为 YAML YAML to JSON:将 YAML 字符串转换为 JSON JWT Debugger:校验或签署 JWT 令牌 Language...Beautify:格式化各种语言的源代码 Number Base Converter:在二进制、八进制、十进制、十六进制和其他数字基数之间转换 QR Code Reader/Generator:读取二维码或生成二维码...URL Encode/Decode:解码或编码 URL(RFC3986) URL Parser:Query String转JSON,解析URL协议、主机、端口等 UUID/GUID Generate/...字符串转换为 Properties JSON To Properties:将 JSON 字符串转换为 Properties

    4.6K60
    领券