Comments (25)
Binary Prefixes (Ki, Mi). E.g.:
1 MiB = 2^20 bytes = 1,048,576 bytes
1 KiB = 2^10 bytes = 1,024 bytes
from pandocs.
Regular prefixes for binary superunits. E.g.
1 MB = 2^20 bytes = 1,048,576 bytes
1 KB = 2^10 bytes = 1,024 bytes
from pandocs.
Even if the docs don't use binary prefix "KiB", then still "KB" is the one that (usually) means 1024 bytes; "kB" means 1000. (Wikipedia: "One kilobyte is 1000 bytes. The internationally recommended unit symbol for the kilobyte is kB. [...] The binary meaning of the kilobyte for 1024 bytes typically uses the symbol KB, with an uppercase letter K.")
from pandocs.
So the alternatives are KiB vs kB? Should we vote?
from pandocs.
I vote for 16 KiB
from pandocs.
16 KB
should be the best. But did we ever agree on this?
from pandocs.
The binary prefixes Ki-
, Mi-
, etc, are 100% unambiguous. "KB, MB, GB for 2¹⁰, 2²⁰, 2³⁰" used to be more common, but hard drives' advertised space and even OS-displayed file sizes (macOS and some Linux distros) are now the smaller 10-based quantities.
from pandocs.
@pinobatch I'm fairly certain the debate here is only about multiples of bytes, not other units.
from pandocs.
@ISSOtm can you help me on this?
from pandocs.
@ISSOtm you initially raised concerns on this. I'm closing this in a couple of days if I don't hear from you.
from pandocs.
I'm starting work on this again, including fixing formatting. On which of the following did we agree?
16kB
16 kB
16KiB
16 KiB
from pandocs.
kB
or KiB
, actually. There was an argument about standardizing on one—I think in #54?
from pandocs.
In the case of the GB it's actually even more confusing because the CPU frequency is exactly 4 MiHz, but people normally say 4 MHz as an approximation.
Defining 1000 = 1024 decades ago was a mistake that even hard drive manufacturers take advantage of, we don't need to make the same mistakes.
from pandocs.
For units of things other than information, SI prefixes are universally accepted and the value shouldn't be quoted as 4 MHz in reference material. (In fact, it should be quoted as 4,194,304 Hz explicitly (and perhaps even as 2²² Hz in a comment); the long trailing decimal places have obscured the power of two to many people.)
On the other hand, KB, MB, GB for 2¹⁰, 2²⁰, 2³⁰ bytes are almost universal, with few exceptions (not including people who intentionally want to make quantities seem larger). Whenever someone talks about a ROM being 1 MB, they invariably mean that the file is $100000 bytes long, not $F4240.
from pandocs.
kB
orKiB
, actually. There was an argument about standardizing on one—I think in #54?
It seems like the debate was in #55.
from pandocs.
I see them as pointless clutter. (And I have no idea of why macOS and those Linux distros would make such a bad choice; the decimal file size is virtually always less relevant than the binary file size, even to the average user.) Virtually everyone who uses the "old" units still means their binary quantities; I have yet to see anyone talking about a 2.1 MB ROM or a 4.1 KB WRAM bank.
from pandocs.
It's not even an entirely recent inconsistency. The common "1.44 MB" floppy disk size held 1,474,560 bytes: 1.44 × 1024 × 1000.
from pandocs.
Or consider a "700 MB" CD-R, which when burned in mode 1 or mode 2 form 1 holds 80 * 60 * 150 KiB = 720000 KiB, or about 703.12 MiB or 737.28 MB.
from pandocs.
Or consider a "700 MB" CD-R, which when burned in mode 1 or mode 2 form 1 holds 80 * 60 * 150 KiB = 720000 KiB, or about 703.12 MiB or 737.28 MB.
In this case, the 700 was clearly an approximation of the accurate figure of 703⅛.
from pandocs.
Once you know that the true capacity was 703.12 MiB, it's clear that "700 MB" was rounding, but there's no prior reason to expect "700 MB" to have been rounded.
This is why "MiB" isn't pointless: you don't have to say "Virtually everyone" or "almost universal, with few exceptions", because literally everyone means 1,048,576 bytes when they say "1 MiB".
(People talk about "1 MB" and "2 MB" ROMs because historically that's been accurate, but if a macOS user sees their out.gb file listed as 1.04 MB, that could be confusing.)
from pandocs.
Given that we will need an info box about the adopted units at the start of the document anyway, I think we can vote on this.
Please upvote the message with your preferred solution.
from pandocs.
Given that we're not talking about storage media here, I don't think explicitly using binary suffixes is necessary.
from pandocs.
KB is less of an eyesore than KiB, more well-known and it's widely agreed to be equal to 1024 bytes.
from pandocs.
Though handhelds and Super Game Boy 2 operate at a nominal 4 MiHz ≈ 4.194 MHz, NTSC Super Game Boy's T-state rate is easiest to express in MHz, namely 189/44 MHz ≈ 4.295 MHz.
Telecommunication has its own convention of bitrates always using decimal prefixes, dating back to the phone system's choice of 8000 samples per second. This continued into the definitions of IDSN, DSL, T1, and Ethernet over twisted pair (10BASE-T, 100BASE-TX, 1000BASE-T, etc.). Thus serial runs at 8.192 kbps not 8 kbps.
from pandocs.
Thanks for the feedback. This discussion has been incorporated into the Pan Docs document style.
@ISSOtm please open more issues if you still like to discuss the points you initially raised.
from pandocs.
Related Issues (20)
- Undocumented SGB Hardware quirk: Command packet bytes are buffered
- a11y: add alt text and check if the existing ones are descriptive enough
- Mention MBC30 in MBC3 documentation HOT 1
- Allow building out-of-tree HOT 2
- Make "single" page self-referential
- Markup is not allowed in admonitions titles HOT 1
- Contributing: document how to export SVGs
- Open external links in a new tab
- Build reproducibility: pull fonts from npm HOT 3
- Make single-page and PDF version more visible HOT 4
- Hardware register default value doesn't make sense on DMG for CGB-only registers HOT 4
- Serial transfer is re-described in the interrupts page
- Make bits-description table separations more visible HOT 5
- Vram map - suggestion
- "Timer Obscure Behavior" needs an overhaul HOT 1
- Average loading time is > 8 seconds HOT 2
- SGB command packet transfers are described using wrong bits of JOYP HOT 1
- 0xFF0F - Interrupt flag, not mentioned in memory layout HOT 3
- Registers "default return values" no longer mentioned HOT 2
- Port "Gameboy sound hardware" from the old wiki HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pandocs.