徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
安装
比浏览器更快的访问!
 

魔術數字 (程式設計)

指数 魔術數字 (程式設計)

程式設計中所謂的魔術數字(magic number)是指寫死在程式碼裡的具體數值(如「10」「123」等以數字直接寫出的值)。雖然程式作者寫的時候自己能了解數值的意義,但對其他程式員而言,甚至製作者本人經過一段時間後,會難以了解這個數值的用途,只能苦笑諷刺「這個數值的意義雖然不懂,不過至少程式能夠執行,真是個魔術般的數字」而得名(起源参考平方根倒数速算法)。 因為下述理由,一般認為程式碼中不應該含有魔術數字。.

11 关系: 子程序寫死常数布爾 (數據類型)平方根倒数速算法程序设计枚举民國紀年日本曆01

子程序

在计算机科学中,子程式(Unterprogramm, Subroutine, procedure, function, routine, method, subprogram, callable unit),是一個大型程式中的某部份程式碼,由一个或多个语句块组成。它負責完成某項特定--,而且相較於其他程式碼,具備相對的獨立性。 一般会有输入参数并有--,提供对过程的封装和细节的隐藏。这些代码通常被整合为软件库。 函数在-zh:程序導向;zh-tw:程序導向;zh-cn:面向过程-的语言中已经出现。是结构(Struct)和-zh:類別;zh-tw:類別;zh-cn:类-(Class)的前身。本身就是对具有相关性语句的归类和对某过程的抽象。.

新!!: 魔術數字 (程式設計)和子程序 · 查看更多 »

寫死

寫死(Hard Code或Hard Coding)是指在軟體實作上,將輸出或輸入的相關參數(例如:路徑、輸出的形式或格式)直接以常數的方式撰寫在原始碼中,而非在執行期間由外界指定的設定、資源、資料或格式做出適當回應。一般被認定是種反模式或不完美的實作,因為軟體受到輸入資料或輸出格式的改變就必須修改原始碼,對客戶而言,改變原始碼之外的小設定也許還比較容易。 但寫死的狀況也並非完全只有缺陷,因某些封裝需要或軟體本身的保護措施,有時是必要的手段。除此之外,有時候因應某些特殊的需求,製作出簡單的應用程式,應用程式可能只會執行一次,或者永遠只應付一種需求,利用寫死來縮短開發的時間也是一種不錯的決策。.

新!!: 魔術數字 (程式設計)和寫死 · 查看更多 »

常数

常数又稱定數,是指一个数值固定不变的常量,例如圆周率\pi\,、自然对数的底e,与之相反的是變數。 在物理學上,很多經測量得出的數值都被稱為常數。例如萬有引力常數和地表重力加速度等。但有研究表明,部分這類常数并不是恒定不变的,因此就被稱作“不定常数”(inconstant constant)和“不恒定的常数”(not-so-constant constant)。.

新!!: 魔術數字 (程式設計)和常数 · 查看更多 »

布爾 (數據類型)

布爾(Boolean,台湾译--,中國大陸譯--)是计算机科学中的逻辑数据类型,以發明布爾代數的數學家喬治·布--爾為名。它是只有两种值的原始類型,通常是True和False。 在一些语言中,布尔数据类型被定义为可代表多于两个真值。例如,ISO SQL:1999标准定义了一个SQL布尔型可以储存三个可能的值:真、假、未知(SQL null被当作未知真值来处理,但仅仅在布尔型中使用)。.

新!!: 魔術數字 (程式設計)和布爾 (數據類型) · 查看更多 »

平方根倒数速算法

平方根倒数速算法(Fast Inverse Square Root,亦常以“Fast InvSqrt()”或其使用的十六进制常数0x5f3759df代称)是用于快速计算\scriptstyle x^(即\scriptstyle x的平方根的倒数,在此\scriptstyle x需取符合IEEE 754标准格式的32位浮点数)的一种算法。此算法最早可能是于90年代前期由SGI所发明,后来则于1999年在《雷神之锤III竞技场》的源代码中应用,但直到2002-2003年间才在Usenet一类的公共论坛上出现。这一算法的优势在于减少了求平方根倒数时浮点运算操作带来的巨大的运算耗费,而在计算机图形学领域,若要求取照明和投影的波动角度与反射效果,就常需计算平方根倒数。 此算法首先接收一个32位带符浮点数,然后将之作为一个32位整数看待,以将其向右进行一次逻辑移位的方式将之取半,并用十六进制“--”0x5f3759df减之,如此即可得对输入的浮点数的平方根倒数的首次近似值;而后重新将其作为浮点数,以牛顿法反复迭代,以求出更精确的近似值,直至求出符合精确度要求的近似值。在计算浮点数的平方根倒数的同一精度的近似值时,此算法比直接使用浮点数除法要快四倍。 此算法最早被认为是由约翰·卡马克所发明,但后来的调查显示,该算法在这之前就于计算机图形学的硬件与软件领域有所应用,如SGI和3dfx就曾在产品中应用此算法。而就现在所知,此算法最早由加里·塔罗利(Gary Tarolli)在的开发中使用。虽说随后的相关研究也提出了一些可能的来源,但至今为止仍未能确切知晓算法中所使用的特殊常数的起源。.

新!!: 魔術數字 (程式設計)和平方根倒数速算法 · 查看更多 »

程序设计

电脑程序设计(Computer programming),或稱程式設計(programming),是给出解决特定问题程序的过程,軟體開發過程中的重要步驟。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应包括分析、设计、编碼、测试、除错等不同阶段。 在计算机技术发展的早期,軟體開發主要就是程序设计。但随着技术的发展,软件系统越来越复杂,逐渐分化出许多专用的软件系统,如操作系统、数据库系统、应用服务器,而且这些专用的软件系统愈来愈成为普遍的系統環境的一部分。这种情况下軟體開發的内容越来越丰富,不再只是纯粹的程序设计,还包括数据库设计、用户界面设计、通信协议设计和复杂的系统配置过程。 专业的程序设计人员被称为程序员。某种意思上,程序设计的出现甚至早于电子计算机的出现。英国著名诗人拜伦的女儿愛達·勒芙蕾絲曾设计了巴贝奇分析机上計算伯努利數的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的突破性創新,愛達·勒芙蕾絲被称为世界上第一位程序员。 任何设计工作都是在各种条件限制和相互矛盾的需求之间寻求一种平衡。這種觀點反映在程式設計上,就是硬體儲存空間與程式執行時間的限制。 空間方面,在计算机技术发展的早期,由于机器资源比较昂贵,如何縮小儲存空間往往是设计关心的首要重點;而随着硬件技术的飞速发展,電腦上資料儲存媒體的價格降低,空間不再是考慮的第一要點,一些較耗時的運算也漸漸發展出以空間換取時間的模式。 時間方面,在早期,如何加強程式效率、縮短程式執行時間是程式設計師的共同目標;而在硬體效能進步、效率差距縮小,软件规模與複雜度卻日益增加的現在,程序的结构、可维护性、重複使用性、彈性等因素更顯得重要。在多人合作的程式設計專案裡,程式設計師們會加上各種註解以協助其他參與者理解程式碼,,但卻因能達到較好的溝通並提高程式碼的可維護性,而成為目前的主流。 然而,隨著智慧型手機等攜帶裝置的興起,執行時間的縮短與儲存空間的有效運用再次成為焦點,形成與主機伺服器類型應用程式不同的重點考慮方向。.

新!!: 魔術數字 (程式設計)和程序设计 · 查看更多 »

枚举

在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。 枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY就是一个枚举。 枚举的说明与结构和联合相似,其形式为: enum 枚举名枚举变量; 如果枚举没有初始化,即省掉".

新!!: 魔術數字 (程式設計)和枚举 · 查看更多 »

民國紀年

民國紀年是中華民國的國家紀年方式,由中華民國政府規範頒布,表記時稱作中華民國×××年,簡稱民國×××年、民×××。這種紀年方式以西元1912年中華民國成立為元年,與西元紀年相差1911年,民國年為西元年,月、日、置閏則同西曆。依照民國紀年制定之曆法又稱國曆。目前主要於中華民國政府實際統治的臺澎金馬使用。.

新!!: 魔術數字 (程式設計)和民國紀年 · 查看更多 »

日本曆

日本曆是指日本歷史上所有使用過的曆法,包括傳統的和曆以及明治維新後的格里曆。.

新!!: 魔術數字 (程式設計)和日本曆 · 查看更多 »

0

0(〇/零)是-1与1之间的整数。0既不是正数也不是负数。0是偶数。在数论中,0不属于自然数;在集合论和计算机科学中,0属于自然数。0在整数、实数和其他的代数結構中都有著單位元這個很重要的性質。.

新!!: 魔術數字 (程式設計)和0 · 查看更多 »

1

1(一/壹)是0与2之间的自然数,是最小的正奇數.

新!!: 魔術數字 (程式設計)和1 · 查看更多 »

传出传入
嘿!我们在Facebook上吧! »