{"id":20306015,"url":"https://github.com/olyutorskii/doubdabc","last_synced_at":"2026-05-29T21:31:36.587Z","repository":{"id":41551111,"uuid":"77816045","full_name":"olyutorskii/DoubDabC","owner":"olyutorskii","description":"DoubDabC is a Java library that supports binary integer value to decimal sequence conversion with alternative algorithm.","archived":false,"fork":false,"pushed_at":"2025-02-01T04:17:07.000Z","size":653,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-02-01T05:19:30.648Z","etag":null,"topics":["algorithm","alternative-algorithm","base-conversion","bcd","conversion","dda","decimal","digits","double-dabble-algorithm","gc-friendry","java","java-library","number","radix"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olyutorskii.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-02T06:48:09.000Z","updated_at":"2025-02-01T04:14:44.000Z","dependencies_parsed_at":"2024-11-14T17:11:31.591Z","dependency_job_id":"8c3bce13-1e6d-4dca-b15b-6f1702e63d44","html_url":"https://github.com/olyutorskii/DoubDabC","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olyutorskii%2FDoubDabC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olyutorskii%2FDoubDabC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olyutorskii%2FDoubDabC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olyutorskii%2FDoubDabC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olyutorskii","download_url":"https://codeload.github.com/olyutorskii/DoubDabC/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241802182,"owners_count":20022590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","alternative-algorithm","base-conversion","bcd","conversion","dda","decimal","digits","double-dabble-algorithm","gc-friendry","java","java-library","number","radix"],"created_at":"2024-11-14T17:11:21.042Z","updated_at":"2025-12-01T05:06:34.506Z","avatar_url":"https://github.com/olyutorskii.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DoubDabC #\n\n![Java CI with Maven](https://github.com/olyutorskii/DoubDabC/workflows/Java%20CI%20with%20Maven/badge.svg)\n![CodeQL](https://github.com/olyutorskii/DoubDabC/workflows/CodeQL/badge.svg)\n\n-----------------------------------------------------------------------\n\n## What is DoubDabC ? ##\n\n* **DoubDabC** is a Java library\nthat supports **binary integer value to decimal sequence conversion**\nwith alternative algorithm.\n\n* Yes, it will substitute implementations such as\n`Integer.toString(int)` and so on.\n\n\n## DoubDabC implementation ##\n\n* DoubDabC implements **[Double-Dabble algorithm][DDA]**\naka **Shift-and-add-3**.\nDouble-Dabble is a radix-conversion algorithm\nbut there is no division\\(/\\) nor remainder\\(%\\) operation.\nIt's a bit fast.\n\n* There is no String constructor during conversion.\nThat means, **GC-friendry !**\n\n\n## Supported Input ##\n\n* DoubDabC has a pseudo register of the size you specified.\nYou can put N-bit bool, `int`, `long`, `BitSet`, or `BigInteger`\nas binary integer value.\n\n* Let's try to put a huge Mersenne prime like `2^32582657 -1`.\nOverflow ? OK, don't worry.\nJust losing higher decimals over you specified.\n\n\n## Supported Output ##\n\n* You can get each decimal number column result by `int` or `int[]` array.\n\n* You can assign\n`Appendable`, `Writer`, `StringBuffer`, `StringBuilder`, or `CharBuffer`\nas Arabic numeral characters\\(0-9\\) sequence output.\n\n* `CharSequence` wrapper class is provided.\n\n\n## Limitations ##\n\n* DoubDabC does not support negative values.\nSigned-values are treated as Unsigned-value\nlike `Integer.toUnsignedString(int)`.\nLet's convert absolute value that follows minus\\(-\\) sign.\n\n\n## What is the difference with [**JarabraDix**][JDX] ? ##\n\n* If you use binary integer value that fit in 'long' or 'int',\nand you have modern JVM and CPU that supports fast integer division,\nlet's try **JarabraDix**.\n\n\n## How to build ##\n\n* DoubDabC needs to use [Maven 3.3.9+](https://maven.apache.org/)\nand JDK 1.8+ to be built.\n\n* DoubDabC runtime does not depend on any other library at all.\nJust compile Java sources under `src/main/java/` if you don't use Maven.\n\n\n## License ##\n\n* Code is under [The MIT License][MIT].\n\n\n## Project founder ##\n\n* By [olyutorskii](https://github.com/olyutorskii) at 2017\n\n\n## Key technology ##\n\n- [Double-Dabble algorithm][DDA]\n- [Binary-coded decimal (Packed BCD)][PBCD]\n- [Bi-quinary coded decimal][BQCD]\n- [Left-shift operation with freesize pseudo register][LSFT]\n\n\n[DDA]: https://en.wikipedia.org/wiki/Double_dabble \"Double-Dabble algorithm\"\n[PBCD]: https://en.wikipedia.org/wiki/Binary-coded_decimal#Packed_BCD \"Packed Binary coded decimal\"\n[BQCD]: https://en.wikipedia.org/wiki/Bi-quinary_coded_decimal \"Bi-quinary coded decimal\"\n[LSFT]: https://en.wikipedia.org/wiki/Bitwise_operation#Bit_shifts \"Left shift\"\n[JDX]: https://github.com/olyutorskii/JarabraDix\n[MIT]: https://opensource.org/licenses/MIT\n\n\n--- EOF ---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folyutorskii%2Fdoubdabc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folyutorskii%2Fdoubdabc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folyutorskii%2Fdoubdabc/lists"}