Templarian / MaterialDesign

✒7000+ Material Design Icons from the Community
https://materialdesignicons.com
Other
11.04k stars 728 forks source link

decimal/octal/binary #4615

Closed SSinischo closed 3 years ago

SSinischo commented 5 years ago

I have:

https://github.com/Templarian/MaterialDesign/issues/4586 already exists for hexadecimal. Can we add decimal/octal/binary icons as well?

Usage

Denote between decimal/base-10 and hexadecimal/base-16 numerical representation. Octal and binary icons could also be included.

Decimal Icon: The number 10, or alternatively the decimal digit range 0-9 might be considered The icon, or a variant of, may depict '0d', the standard prefix for decimal values

Octal Icon: The number 8 might be considered The icon, or a variant of, may depict '0o' or '0q', two accepted prefixes for octal values

Binary Icon: A short sequence of non-uniform binary digits might be considered, for example '110' or '01' The icon, or a variant of, may depict '0b', the standard prefix for binary values

Hexadecimal Icon (I am aware a request exists, I drafted this before I had searched): It is important to convey the 0-F range of hexadecimal representation in this icon. The digit F alone may suffice as it is unique to base 16 (and higher) numeric systems The icon, or a variant of, may depict '0x', the standard prefix for hexadecimal values

Examples

https://ssinischo.github.io/icons/hex.svg

mririgoyen commented 5 years ago

We already have decimal.

decimal

CoDEmanX commented 5 years ago

The decimal icon depicts the decimal fraction part. We could still add a generic floating point number icon IMO, e.g. 1.23. However, then we should also consider things like scientific notations (1.2e3)...

mririgoyen commented 5 years ago

Just like we don't need the F in the hexadecimal icon, we don't need a million variations of decimals. That extra bit is extraneous and adds further complexity, which goes against guidelines. Our current decimal indicates decimal at first glance, which means it has done its job. 😄

JamesCoyle commented 5 years ago

But decimal here means base-10 and not fractional decimals. I feel adding a 0b for binary, 0o for octal, and 0d for decimal (with maybe 10 as numeric-10 as an alternative) would fill this request but they would need to be named number-* along with #4586.

SSinischo commented 5 years ago

Just like we don't need the F in the hexadecimal icon, we don't need a million variations of decimals. That extra bit is extraneous and adds further complexity, which goes against guidelines. Our current decimal indicates decimal at first glance, which means it has done its job. 😄

Actually, I would argue that icon in particular conveys "floating point". And presence of the decimal point does not indicate base-10. In my use cases, the icon will be used to represent integer values and the decimal point actually leads to a misleading icon.

Perhaps this should be a comment on the other issue, but unique digits (like hex 'F') or the '0...' prefix at the very least, is necessary to denote non base-10 systems.

SSinischo commented 5 years ago

I'm for putting the smallest and largest digit next to each other. Binary: 01 Octal: 07 Decimal: 09 Duodecimal: 0B (or 0ε) Hexadecimal: 0F

I don't know if I would support duodecimal. My idea here was to offer icons for tool-like engineering applications and I have never, ever used base-12.

Additionally, I am not a fan with '07', '09', or '0B' being used for any of the icons (at least without a dash to indicate range) as the digits are not unique to that number system.

I think binary works best with three digits, i.e. '110' or '011'.

I guess the only solution that standardizes across all of them while remaining unique is the programming prefixes, 0x, 0d, 0o, 0e. Wishful thinking, but I'd still like to see a 0xF/0xFF variant for the hex icon or 3-digit binary variant as described above.

SSinischo commented 5 years ago

I am not opposed to simple text-block icons with 'BIN', 'OCT', 'DEC', and 'HEX' either...

mririgoyen commented 5 years ago

Text blocks will not be considered because there are alternative ways to depict these. If you want to use text, you can use our alphabet to make whatever combinations of letters you would like.

mririgoyen commented 3 years ago

I'm for putting the smallest and largest digit next to each other. Binary: 01 Octal: 07 Decimal: 09 Duodecimal: 0B (or 0ε) Hexadecimal: 0F

At that point, just use our alphabet to make your own variations.

We don't typically add letter/number only icons unless there is very good reason for it. For example, we recently added pH because we don't have a lowercase alphabet and pH is a VERY common thing.

In the case of this request, we have decimal and hexadecimal, both which contain things not found in our alphabet. (Namely a period and a lower case x.) All the others can be created with our alpha collection and are, quite frankly, pretty niche use cases.

I would recommend pairing numeric-0 and numeric-7 together for "octal" and numeric-0 and alpha-b for "duodecimal."

Of course, if someone can come up with a better way to handle these, we can reconsider. But as they stand now, they're not a good fit for the library.

Thanks for your suggestion.